-
-
Notifications
You must be signed in to change notification settings - Fork 2.2k
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
API #74
Comments
Hey 👋 Thanks for the feature request! I'm thinking the same for some weeks now. I used Fastify in the very first version, but switched to SvelteKit because the DX is perfect! But as the scope of Coolify slightly changes over time, I will definitely rewrite it to Fastify (I know some Rust, but not my strongest skill atm 🙂). You have really good suggestions, maybe we could chat about other things as well? I'm available on Twitter/Telegram/Slack/Discord/Email. |
Update: I manage to rewrite the whole API to Fastify (TS) and connect it to SvelteKit. Currently, I'm testing to integrate Fastify with SvelteKit from the source code point of view - does it worth it or not. 🙂 |
Glad to hear that things have been progressing with alot of speed, really looking forward to seeing a release for this soon; WRT to the Fastify and SvelteKit - I am not too familiar with Svelte to advice you on this, but from some quick research this seems to be rather tedious (and confusing) to achieve, the easier and perhaps appropriate choice would be to ship as a separate module (in Fastify); and have the UI (SvelteKit) interact with the API over using mongoose directly, this way we are removing any duplications and have everything centralised, and as time progresses tests can be implemented easily - making the over all project very modular. |
Yeah, after 15 mins of wrestling, I realized it does not worth it - it makes things very complicated. So I keep the API separated from the frontend. |
I'm closing this issue, because tracking features will be moved to GitHub discussions. Github issues will be only for bugs. Version 4 is in full focus. v3 related issues will be closed, if it is not a critical bug. Thanks for your understanding. |
Use case
There are a myriad of use cases for an API, one that is most common is adding functionality and deeply integrating Coolify with other platforms, for instance my company wishes to deeply integrate Coolify into our existing dashboard and for this we will need an API. Beyond this, it could be used for billing calculators, viewing usage for apps etc. from third party tools. (with more functionality being added as Coolify adds more features). This API should also come with clear cut documentation, that can be easily understood by developers.
The API (server) could be made in any language fit, but my personal recommendation would be to build with TS (Fastify) or Rust (Rocket).
This obviously adds a whole new scope to the project, but this is very necessary to move forward and to make Coolify into an enterprise grade project.
Footnotes
My company, is happy to invest man hours and make donations to help where possible; as am I happy to PR for this specific issue.
The text was updated successfully, but these errors were encountered: