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.
"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.
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.
I bit the bullet and started deploying on k3s; k9s is my fancy UI.
Machines are cattle, I can have as many nodes as I want. If I need to do something new usually there is a helm chart for it or a .yaml solution somewhere on the internet.
I have a lot of control, I've already seen a decent amount of problems, so I just copy paste from old projects. I don't think k3s would do great on 5$ machines with 1GB of RAM but Oracle Always Free gives you 6GB and Hetzner has beefy machines for 35$.
The infra people I work with (mid-large size companies) are cool with k8s on any big cloud so my work experience doesn't change much.
So now I'll have TWO clusterfucks of infested dependencies to deal with instead of just one.
I had known about this project beforehand and here is something that i found interesting I want to share more that they are written in htmx/python btw. This was the first time I saw somebody mention why on their reddit post in r/htmx and I actually saw that post out in the wild and It was a fun read and I might definitely try this out in the near future but I don't really know, I don't like UI's that much and I'd rather just deploy a container manually but their approach is really nice too and something that I want to try out in a hetzner vps one day for sure
https://www.reddit.com/r/htmx/comments/1ne6ueo/devpush_a_ver...
Go star this repo or help them if you can! More the options the better (coolify,dockploy,devpu.sh) (to me personally devpu.sh seems the most minimalist with just python iirc)
EDIT: Just got approved for access - thanks!
Pasting the website instead of the GitHub as the installation instructions are more up to date on the main site:
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.
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.
And this is definitely more targeted at programmers who just want to deploy their app and may have limited interest in DevOps/sysadmin/servers.
I mean for DB I run a prod mariadb on hetzner and it is arguably easier to install and setup than say things most devs use, say vscode. Had to tune a couple of things (number of allowed connections for a user) but lots of good docs out there to help.
I wanted to build something closer to what Vercel offers, with a more streamlined UX out of the box.
Can you help me understand that?
> - option to deploy on multiple servers to scale with super simple non k8s approach.
I'm working on that, allowing you to manage remote nodes from a single /dev/push instance.
Like 10 nodes behind tailscale/wireguard in a private network, with only 2 nodes where you have a port open on 80/443, those are exposed to the public network. The rest of the nodes are all private like db, redis, etc etc.
(I saw the comment re: Streamlined UX, but is there anything else?)
Ultimately, I built this because I wanted the Vercel experience for Python apps.
PS: it's built with FastAPI and HTMX (and Basecoat [1] which I created for this project).
Btw, very cool project. Deployments for simple projects are a huge time sink.
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.
1. Is there a support for deploying into a multiple machines? If so, how does it work?
2. Where and how secrets are stored?
Working on that, you should soon be able to have a central /dev/push instance and remote nodes managed by it.
> 2. Where and how secrets are stored?
Environment variables are stored in the DB but encrypted using Fernet (https://github.com/hunvreus/devpush/blob/main/app/models.py).
https://www.cloudflare.com/press/press-releases/2025/cloudfl...
The pattern I like is to shard customer data in D1+R2 based on a customer specific DO, and have that front your core services via tunnels, then have a shared state database fronted by hypertunnel. I like KEDA scaling of modular monoliths with Cloudflare containers as a burst fallback if SLAs are in danger of going red, it gives you resilience and scalability without boxing you into cloud specifics, and if you're going to be married to one cloud provider it should be Cloudflare, if they go down it's gonna be an internet wide thing.
Tiresome!
As a web developer, you develop your app on your computer (normally), but then folks can't actually access your app when it's running on your computer, it needs to be deployed to a publicly accessible web host.
Basically, these tools run on your servers and give you nice front ends which allow you to build and host your web apps.
Most of them integrate with your version control system so you can automatically build and deploy your app based on specific rules (often 'when main gets updated') or allow you to create preview deployments (if I merged my-feature-branch into main, what would my web app look like?)
Coolify and Dokploy do this with containers, this tool apparently doesn't.
Vercel, Netlify and others offer this as a service (you pay us $X per month and we manage it all for you), these tools run on your own server (either one you actually own or one you rent from a cloud provider).
No debs. Install: curl | sh.
facepalm-Picard.jpg
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.
Here we have people who use Intel, Nvidia chips that are developed in Israel. With leaders who are very friendly with the people and the government of Israel. And employees who spent many months of combat in Gaza. OpenAI who just signed a contract with Nubeius(Israeli company). But no, let's cancel Vercel CEO, or celebrate that some noname artist blocks streaming in Israel.
It's so pathetic and sad. But I also understand it's all emotion and that some people live through their lives based on that.
> It's so pathetic and sad. But I also understand it's all emotion and that some people live through their lives based on that.
It does seems it's all emotion on your end. Projecting much? Tried empathy for a change?
> OpenAI who just signed a contract with Nubeius(Israeli company)
I bet there'd be controversy on that too if attempts to raise awareness weren't even further buried by puppets.