Overall, I do like the Kamal approach which basically boils down to the fact that instead of a complicated cluster orchestration system the developers decide which machines code runs on.
Once it has real support for doing DB migrations as a part of its deploys, a proxy that is less magical and more feature rich, and its CLI fixes some poorly documented and frankly somewhat annoying issues it will be a real workhorse.
I am also curious about Dokku + k3s. I have used Dokku for a long time but only on a single host.
For docker-compose, I had to create a specific one for Coolify because it goes and does its own magic.
Tried Dokploy(similar service), better UI but lacking in docs.
In the right hands, these products could be so much better.
- Added 8 variables inside docker-compose, only 7 get recognized
- Why my docker-compose works locally and not on Coolify? Oh yeah it has its own network stuff. Then tell me beforehand!
- Error messages like "Oops something is not okay, are you okay?" 0% helpful information, 100% condescending crap
I'm not sure why this software keeps getting recommended. Even in videos like these, the guy admits its not ready yet: https://www.youtube.com/watch?v=taJlPG82Ucw&t=3126s
I do wonder though, why do we even need an alternative to Dokku when it seems to provide everything we need?
> Dokku is an extensible, open source Platform as a Service that runs on a single server of your choice. [0]
But they have a "pro" version that mentions something about "servers," plural.[1] So maybe that's the difference between regular and pro?
If you don't have issues with CLI tools, you're better off with stuff like Ansible, Salt, Chef, Puppet, Nix, Guix, etc. Deploy LGTM or SigNoz alongside your apps and you're good to go.
I would kind of prefer appimages / flatpak's though ?
I think appimages are the best way if we can get aside from the fact of some limitiations it has if I remember like if you build the project on X then code can only run on linux versions on Y where there is some relation b/w X and Y , I know its very vague... It was some reddit post.
Man , I have watched / read so many posts that I only vaguely remember things but I really don't have exact bookmarks and it just feels so repetitive and kind of humiliating to say these again and again....
Sorry, but FYI this is my biggest pet peeve of all time.
I set up an app that would take a couple of seconds to return a request. Started a long benchmark and did a deploy. Got some errors right after deploying because the pending requests were killed.
A new UI is planned and under development as we speak.
Improvements to zero downtime deployments and our overall deployment flow, including scaling across multiple servers, are under planning and will be released later this year.
The dashboard is incredibly clunky and at the time they didn't have SSL for db connections (not sure about now). A lot of stuff you need to know what you're doing like configuring tags for Traefik etc.
The deal breaker was it didn't have zero downtime deploys. Any pending request when you update an app is simply killed.
I was expecting something like Heroku or Vercel but this ain't it.
Ended up concluding that if I wanted to run/deploy apps on my own VPS I'd just use Kamal or Dokku. Both have zero downtime deploys, certbot, proxy, etc.