I made a Dokku wrapper myself and manage my deployments that way, I'm pretty happy about it these days, but again it's nice to see more alternatives in the wild.
As such there are plenty of deployments, where the only deployment option is between Vercel, Netlify and co, usually Vercel ends up winning on the portfolio and partner deals.
You don't see geeks selling their Apple gear in droves, despite the deals that its CEO has been doing as well.
I wanted to build something closer to what Vercel offers, with a more streamlined UX out of the box.
I am a huge proponent of running your own, but along with that comes a responsibility to know what you’re doing. If you don’t know how to harden a Linux box on your own, frankly you have no business hosting anything on it. Spin up a VM and learn from your mistakes first. Similarly, I maintain that if you don’t know how to administer and tune an RDBMS, you shouldn’t be using it for anything that matters.
If you think this sounds like gate-keeping, I’d ask you to re-read what I wrote. I think you have a responsibility to others who are relying on your skills to know what you’re doing, or at the very least, understand enough about their fundamentals to know how to reverse mistakes.
I'm also working on adding manual steps so that folks who prefer to deploy the app themselves can do so.
I initially had the app deployed with Terraform + Ansible, but rewrote it as a bash script as I thought it'd be lower friction.
Re: lower friction, you’re probably correct, though that also brings with it concerns like those that I posted. While installing Terraform and Ansible isn’t difficult, it might keep people away who have no interest in any form of systems administration, and so we come full circle again.
https://vercel.com/docs/functions/runtimes
Go is in beta for years, for a company that depends so much on Rust tooling nowadays, I guess it would be about time that Rust would graduate out of a community runtime.
Also, their containers are based on Amazon Linux 2023, so they could also extend the support there.
https://vercel.com/docs/builds/build-image
For me, I see that as they pivoted from the early days of multiple runtimes, are nowadays focused on nodejs and they kind of still support multiple runtimes, but are not keen on improving what is already there.
We've been running both CapRover and Coolify for a couple years. We quite like renting real dedicated servers (Hetzner, OVH), it is so much cheaper than the cloud and a minor management burden. These tools make it easy to bridge the gap and treat these physical servers like PaaS.
We have dozens of apps and services deployed on a couple large-ish servers with backups. Most modern back-ends do so little computationally and lots of containers can comfortably live together. 128GB of RAM and 64 cores can go a long way and surprisingly cheap in Hetzner, and having that fixed monthly cost removes a mental burden. It is cheap, simple and availability issues are so much rarer than people expect, maybe a couple mishaps a year that are easy to recover from and don't really have a meaningful impact for a startup.
Coolify feels more complete and mature, but frankly, after using both a lot, we now steer more towards the simplicity of CapRover. I see that Dokploy is also a major alternative to Coolify, don't know much about it.
How does /dev/push compare? Do you have any other recommendations in this vein? Or differing opinions on the tools I mentioned?
Additionally, for most cases you can select a runtime and deploy your app without any Docker config. Easier to get up and running if all you care about is deploy a Python/Go/Node.js app with simple requirements.
I do plan on offering the ability to use custom Docker images soon though.
Tiresome!
(I saw the comment re: Streamlined UX, but is there anything else?)
felixbecker•1h ago
hunvreus•50m ago
I built /dev/push because I wanted to offer a more streamlined UX, closer to what Vercel offer.
I am planning on adding more runtimes (there's a PR for Bun for example), support for custom containers and support for Docker Swarm, allowing you to manage multiple servers with a single instance.
baobun•43m ago
"Open source X alternatives" are dime-a-dozen and put a limit on what you can be in the eyes of users. It also sets expectations such that differences easily become disappointment. Not having a global CDN can otherwise simply be out of scope but can be "missing feature" when pitched as an alternative to an established service.
hunvreus•37m ago