top | item 45501279

Devpush – Open-source and self-hostable alternative to Vercel, Render, Netlify

259 points| el_hacker | 4 months ago |github.com

94 comments

order

felixbecker|4 months ago

This looks very sleek but coolify.io is also open source and a more mature project in my opinion.

hunvreus|4 months ago

Coolify.io is definitely more mature.

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.

satvikpendem|4 months ago

I prefer Dokploy, Coolify sometimes has random bugs

oersted|4 months ago

This is a great opportunity to get HN's take on these tools: systems to streamline the management of containerized services deployed on self-managed hardware.

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?

hunvreus|4 months ago

/dev/push is really trying to recreate the UX of Vercel, so more user-friendly/prettier than CapRover..?

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.

jokethrowaway|4 months ago

I haven't tried /dev/push but I don't like these solutions, you always run into some limit and having a fancy ui is overrated.

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.

Banou|4 months ago

Have tried almost every PaaS and same for me, I always come back to CapRover, it's the platform I've had the less issues with, it's simple and yet feature complete enough for me to run almost anything. I'd love a better alternative if possible.

nisten|4 months ago

Opens project supposed to automate typescript deployments...it's a bunch of python.

So now I'll have TWO clusterfucks of infested dependencies to deal with instead of just one.

port11|4 months ago

Well, you're not forced to use the project, there's other similar alternatives without Python. Like it or not you've described 2 of the most popular languages on the planet, and being snarky towards someone building something for free isn't going to make anything better.

Imustaskforhelp|4 months ago

I love devpu.sh and great that its getting traction

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)

rohansood15|4 months ago

This looks really slick, though it's a bummer that there isn't a quick way to try the hosted version. You mentioned the Vercel UX in the comments, and I think the single-click install on the hosted version is a significant part of it.

EDIT: Just got approved for access - thanks!

indigodaddy|4 months ago

Everyone's listing their favorites in this space, so I'll list mine, Cosmos Cloud. Been solid so far for me. Even has no trouble with more complex docker compose-based applications like KASM workspaces (https://hub.docker.com/r/linuxserver/kasm / this does a docker inside docker sort of thing)

Pasting the website instead of the GitHub as the installation instructions are more up to date on the main site:

https://cosmos-cloud.io/

skeledrew|4 months ago

This looks like piku[0], but a deal more complex and limited to GitHub.

[0] https://piku.github.io/

hunvreus|4 months ago

Very cool. I focused on building a web ui, but wanted to add a CLI, I'll definitely take some inspiration from that project.

pelagicAustral|4 months ago

Looks very comfy, I am glad there is so many new alternatives to manage deployments a la Heroku. I remember even back in 2018 it was hard to find any good options to beat Heroku's level of functionality.

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.

hunvreus|4 months ago

Did you open source it?

maelito|4 months ago

What's the difference with Dokploy ?

hunvreus|4 months ago

Dokploy and Coolify are a more container-centric. That means they're a lot more powerful, but also require a bit more massaging.

I wanted to build something closer to what Vercel offers, with a more streamlined UX out of the box.

sgarland|4 months ago

I get the appeal, but am also horrified at the “let’s pipe scripts to bash with sudo,” and the lack of visibility into what the DB is doing.

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.

hunvreus|4 months ago

I have a draft ARCHITECTURE.md file in the repo: https://github.com/hunvreus/devpush/blob/main/ARCHITECTURE.m...

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.

dmoose|4 months ago

I agree with this point completely and have been maintaining at least a few linux servers for many years now. However, I never feel completely comfortable about it because it is not my primary responsibility and I know the target is always moving. If you have any good resources to recommend for current best practices I'm sure they would be useful for me as well as anyone deploying this kind of tool.

hshdhdhehd|4 months ago

Doing all that on your own server is fun and not too hard IMO. Like if you can learn React this is orders of magnitude easier but perhaps way more boring or beneath people?

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.

h33t-l4x0r|4 months ago

Or better yet just have AI go over it, because who has the cognitive bandwidth to audit every FOSS project on top of everything else they have to get to today

hhthrowaway1230|4 months ago

I like it but I always miss features or defaults like: - internal network only with edge nodes (i.e tail scale out the box, + some edge nodes) - option to deploy on multiple servers to scale with super simple non k8s approach.

hunvreus|4 months ago

> - internal network only with edge nodes (i.e tail scale out the box, + some edge nodes)

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.

mmargenot|4 months ago

I like the idea of self-hostability, but not having to think about the deployment of the frontend piece has been a huge accelerant for me, someone who typically thinks only of ML and backend components.

lloydjones|4 months ago

How (if at all) does /dev/push fundamentally differ to Coolify? Or does it not, but it's just an alternative?

(I saw the comment re: Streamlined UX, but is there anything else?)

hunvreus|4 months ago

The main difference is that you're just deploying apps, not containers (although I do plan on adding support for custom Docker images).

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).

[1]: https://basecoatui.com

mclightning|4 months ago

Vercel has been outdated for sometime and it is refreshing to see alternatives coming up. This one seems like superior to Vercel already, definitely worth the switch.

pjmlp|4 months ago

What I actually miss in Vercel is the lack of exposure to the underlying AWS Lambda infrastructure, at very least similar set of languages should be supported.

hunvreus|4 months ago

Vercel does a ton of specialized work under the hood, not sure how much they could expose the underlying infra.

codegeek|4 months ago

The UI looks very similar to the new UI recently released by Laravel Forge. Almost identical to be honest. Are you inspired by Laravel Forge ?

hunvreus|4 months ago

Oh yeah, I definitely took a lot of inspiration from it.

BinaryIgor|4 months ago

Interesting; some questions:

1. Is there a support for deploying into a multiple machines? If so, how does it work?

2. Where and how secrets are stored?

hunvreus|4 months ago

> 1. Is there a support for deploying into a multiple machines? If so, how does it work?

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).

baalimago|4 months ago

Not sure why the comparison is to Vercel when it probably should be compared to Coolify/Dokploy

macintux|4 months ago

Perhaps because migrating from Vercel is a hot topic lately.

CuriouslyC|4 months ago

If you're self hosting, IMO following Vercel is not the model. Use KEDA and K8s, and if you need compute at the edge lean into Cloudflare. That way you're staying standardized, and your vendor lock in is for best in class edge support.

hunvreus|4 months ago

I get the appeal, but personally I stay away from k8s. I don't mind putting in work to set up my deployment pipeline, but on a day to day I just want to push code to my repo and potentially edit environment variables. That's the sweet spot I was trying to hit.

imcritic|4 months ago

I struggle to grasp what it does. What's Vercel and what that does? Someone here in the comments mentioned coolify.io and Dokploy as more alternatives. None of those projects have a good description of what they do. They just "ship anything to anywhere". That's too broad, I need details, I need a short explanation of their basic mechanisms.

Tiresome!

d1sxeyes|4 months ago

If you're familiar with cPanel, these tools are basically cPanel for the 2020s.

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).

h4ch1|4 months ago

It says self-hosted PaaS everywhere on their sites, you're one Google search away from finding out what it is.

axpy906|4 months ago

Backend engineer here. I have no clue either. I think you’re getting downvoted because it’s easy to search?

pointlessone|4 months ago

> Supported on Ubuntu/Debian.

No debs. Install: curl | sh.

facepalm-Picard.jpg

baobun|4 months ago

Vercel alternatives are getting traction and relevance after Vercel and CEO controversies like last weeks https://news.ycombinator.com/item?id=45416353

rmonvfer|4 months ago

I read HN every day, it seems kinda crazy I missed this…

rpastuszak|4 months ago

Is there a good list of alternatives + reviews / GH stars anyone can recommend?

pjmlp|4 months ago

Vercel is like other big corporations that places like HN and Reddit like to hate, most C suites signing off consulting contracts and partner deals couldn't care less.

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.

myth_drannon|4 months ago

I have a persistent feeling that Pro-Paliz people who have those kinds of reactions to a famous X who went to Israel/met a Prime Minister/met a Jew or whatever, operate in a completely different reality, with their large parts of brain activity completely overwhelmed with emotions of pure hate ( that probably comes from untreated trauma, mental illness).

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.

phgn|4 months ago

[deleted]

aziaziazi|4 months ago

I’d be glad if you can share a source of that.