DevPush: Your Own Open Source Vercel for Any Language
If you've ever deployed a small project or a quick API, you've probably wished for that Vercel-like experience: connect a repo, push your code, and have it live in seconds. It's magical, but it's also a walled garden focused on the Node.js ecosystem. What if you could have that same developer-friendly workflow for a Go service, a Python script, or a Rust binary? That's exactly what DevPush offers.
Think of it as the open source engine behind that magic deploy button, but you can run it yourself and point it at any codebase, regardless of the language or framework.
What It Does
DevPush is a self-hosted platform that automates your deployment pipeline. You give it access to your Git repository, and it takes care of the rest. When you push to your chosen branch, DevPush automatically builds your project based on a simple configuration file and deploys the result to your server. It handles the isolation, logging, and process management, turning your raw code into a running service with minimal fuss.
The core idea is to remove the repetitive infrastructure work—building, restarting services, managing environment variables—so you can focus on writing code.
Why It's Cool
The "like Vercel, but open source and for all languages" tagline isn't just marketing. That's the core value proposition. You're not locked into a specific cloud provider or a particular runtime. Your deployment logic is defined in a devpush.yml file that lives in your repo, giving you full transparency and control.
It's built with a developer's workflow in mind. The CLI tool lets you stream logs directly from your terminal, check deployment status, and manage your services without touching a web UI. The architecture is also cleverly simple; it uses Docker under the hood for isolation, which means it can support virtually any stack that can run in a container. Whether you're deploying a simple static site, a Phoenix app, or a Java service, the process feels the same.
For teams or solo devs who want a streamlined, consistent deploy process across multiple projects and languages without the complexity of configuring a full-blown CI/CD pipeline like Jenkins, DevPush hits a sweet spot.
How to Try It
Getting started is straightforward. Since it's self-hosted, you'll need a server (even a small VPC) to run the DevPush server.
-
Set up the server: The easiest way is using Docker Compose. Clone the repo and run:
git clone https://github.com/hunvreus/devpush.git cd devpush docker-compose upThis spins up the management server and a builder instance.
-
Configure your project: In the repository you want to deploy, create a
devpush.ymlfile. It's where you define the build commands and the run command. Here's a basic example for a Go app:build: - go build -o myapp . run: command: ./myapp port: 8080 -
Connect and push: Use the DevPush CLI to link your local project to your server, then just
git push. DevPush will detect the push, execute your build steps, and launch the new version.
Check out the GitHub repository for detailed documentation, more configuration examples, and the source code.
Final Thoughts
DevPush isn't trying to be the most powerful or scalable platform-as-a-service. It's aiming to be the most convenient one you can own. For indie developers, small startups, or even just for staging environments, it removes a huge amount of friction. You get the "it just works" feeling of platforms like Vercel or Netlify, but with the freedom to use any tech stack and the peace of mind that comes with hosting it yourself.
If you've ever sighed while setting up yet another deployment script, it's worth a look. It might just automate that part of your life for good.
Follow us for more cool projects: @githubprojects
Repository: https://github.com/hunvreus/devpush