DEV Community

Cover image for From Zero to Deployed: Your Personal Heroku Alternative (Without the Bill)
Leo
Leo Subscriber

Posted on • Originally published at leodev.beehiiv.com

From Zero to Deployed: Your Personal Heroku Alternative (Without the Bill)

You know that feeling when you want to deploy something quick but Heroku's pricing makes you cry? Or Vercel charges you $20 a month for something that should cost $3?

Dokploy fixes that. It's an open source alternative to Heroku, Vercel, and Netlify designed to simplify the application management process. Basically: you rent a cheap VPS ($5-10/month), install Dokploy once, and then you have your own deployment platform that works exactly like those paid services.

And get this, the dashboard is actually clean. Not some command-line nightmare. You can literally manage everything with clicks and forms, just like Vercel.

What Actually Ships With This Thing

Dokploy lets you deploy any type of application (Node.js, PHP, Python, Go, Ruby, etc.), create and manage databases with support for MySQL, PostgreSQL, MongoDB, MariaDB, and Redis, automate backups, support Docker Compose, scale applications to multiple nodes, and monitor CPU, memory, storage, and network usage.

So whatever you're building, this handles it. Full stop.

Getting It Running (It's Stupidly Easy)

Grab a VPS somewhere. I recommend Hetzner or OVH Cloud. Just make sure it has at least 2GB RAM, 2 CPU cores, 20GB disk space, and ports 80 and 443 open.

SSH in and run:

curl -sSL https://dokploy.com/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

The script downloads Docker, sets everything up, and spins up Dokploy. In like 2 minutes.

Once it finishes, it gives you a link to http://<your-server-ip>:3000. Click it. Create an admin account. Done. You're in.

The Dashboard is Where the Magic Happens

Now you're staring at a dashboard that looks... professional? Weird, I know.

On the left side you've got your menu. Click Create Project. Give it a name. That's where everything for one part of your business lives.

Then inside that project, you can create services. We're talking:

  • Applications - Your actual code (pushed from GitHub)
  • Databases - Postgres, MySQL, whatever
  • Docker Compose stacks - Complex multi-container setups
  • Templates - Pre-built open-source apps (n8n, Pocketbase, etc.)

Each one is a form you fill out. No files to edit, no config nightmares.

Deploying Your App (The Actual Magic)

Let's say you have a Next.js app on GitHub.

  1. Click Create Service → Application
  2. Pick GitHub
  3. Select your repo
  4. Pick your branch
  5. Click Deploy

That's genuinely it. Dokploy builds it, runs it, and gives you a domain. While you watch the logs in real time.

If your build fails, the logs tell you exactly why. Missing env var? Wrong build command? You see it immediately.

Your Own Database (No Extra Bill)

Click Create Service → Database → pick Postgres (or whatever).

Set a password, deploy it, and you get automated backups, graphs showing CPU/memory/disk usage, and automated backups you can send to S3.

Your app connects to it using the internal network. Super secure, super fast. Copy the connection string into your app's environment variables and you're done.

No managed database bill. No vendor lock-in. Just a database running in a container on your server.

Domains and SSL (Actually Free)

Your app gets a free traefik.me domain automatically. But let's say you want your real domain.

Go to Domains in the service settings. Add your custom domain. Make sure your DNS A record points to your server IP.

Then toggle HTTPS and pick Let's Encrypt.

Dokploy automatically provisions free SSL certificates via Let's Encrypt. Ten seconds later, your app is running on https://yourapp.com with a real certificate.

No cert bill. No renewal headaches. Traefik handles it automatically in the background.

Environment Variables (Keep Secrets Secret)

Every real app needs secrets. API keys, database URLs, auth tokens.

In any service, there's an Environment tab. Click the eye icon to edit. Drop in your variables like DATABASE_URL, API_KEY, NODE_ENV—whatever your app needs.

Save. Redeploy. Done.

The dashboard keeps these safe. They're encrypted and never exposed in logs.

Monitoring Your Stuff

Each service has a Logs tab that streams live output. If something breaks, you see it immediately. Super handy for debugging.

Click Monitoring and you get actual graphs of CPU, memory, disk, and network. Real DevOps vibes but actually readable.

The Dashboard Does Everything Else Too

Want to see your database backups? Dashboard.

Want to check deployment history? Dashboard.

Want to add a second server and spread your apps across it? Dashboard form.

Want to check which deploy broke things? Logs in the dashboard.

There's literally nothing you need to SSH into your server to do after the initial install. Everything is UI-based and sensible.

Docker Compose Support (Because Sometimes You Need It)

Maybe you've got a docker-compose.yml already. Dokploy handles that.

Just add the dokploy network to your services, throw some Traefik labels on there for routing, and upload the file through the dashboard.

Dokploy lets you deploy docker-compose files directly and add Traefik labels for routing. Same deployment flow, same dashboard experience.

When Stuff Goes Wrong

Domain not working? Check ports 80 and 443 are open in your firewall. Make sure DNS A record points to your server. Wait a minute.

App won't deploy? Check the logs. It's always one of: missing env var, wrong build command, or bad Dockerfile.

SSL certificate stuck? Port 80 needs to be accessible. Let's Encrypt uses it to validate you own the domain.

Server is slow? Building applications uses a ton of RAM and CPU and can freeze your whole server. If this happens, build your Docker image in CI/CD and push to a registry instead.

Real Talk: Why This Wins

You're paying $5-10/month for the server. That's it. You can run 5 web apps, 3 databases, a cache layer, and automated backups all on one dashboard. All owned by you.

Compare that to Vercel (you own nothing), Heroku (a wild price jump when you scale), or building it yourself (soul-destroying DevOps rabbit hole).

Dokploy has over 26,000 stars on GitHub, millions of downloads, and is trusted by developers worldwide. It's not some sketchy side project. This is production-ready.

Next Steps

  1. Rent a VPS (Hetzner, OVH Cloud or something else)
  2. Run the install command
  3. Create an account
  4. Deploy your first app
  5. Watch it work

Total time: 30 minutes. Total cost: $5.

You'll never go back to Heroku.

Top comments (0)