Tutorials
SwiftWave Turns Any VPS Into Your Own Heroku (Self-Hosted PaaS Guide)
Buried Treasure №3: an Apache-2.0 self-hosted PaaS in Go that runs on a ₹400/month VPS. Deploys, domains, storage — without Heroku's invoice.

Last updated: September 11, 2026 · 7-minute read
Heroku's cheapest dyno costs $5 a month and sleeps. A basic Hetzner or DigitalOcean VPS costs about the same and never sleeps — the catch has always been that turning a raw server into a deployment platform meant an evening of YAML and regret. SwiftWave, a self-hosted PaaS written in Go under the Apache-2.0 license, is the shortest path I have found on paper from "blank VPS" to "git push and it deploys", sitting at 893 stars with a release history going back to August 2023.
What a self-hosted PaaS buys you
A PaaS is the layer that makes a server boring again: push code, get a running app with a domain, TLS, logs, and rollbacks. SwiftWave's README describes it as an open-source alternative to Heroku, Netlify, and Render — deploy and manage applications on any server, from a Hetzner box to a Raspberry Pi. Under the hood it uses Docker (with Swarm mode for multi-node setups), which means your deployments stay plain containers you could run by hand if the platform ever disappeared. That exit-ramp property is the whole argument for self-hosting done right.
The architecture story is credible for the price of admission: AMD64, ARM64, and ARMv7 support; Debian, Ubuntu, Fedora, CentOS, AlmaLinux, and RockyLinux compatibility; and a docs site (swiftwave.org) that documents the full installation path rather than pointing you at a Helm chart and wishing you luck.
What it handles for you
- Application deploys from source or image. The platform builds and runs your app as containers, manages environment variables, and handles restarts — the Heroku shape, on hardware you rent directly.
- Domains and TLS. Ingress with automatic certificate management, so the "and then point DNS at it" step does not become an afternoon.
- Managed add-ons. Databases and similar services deploy as part of the platform, which removes the most common excuse for pasting connection strings into a shell.
- Multi-node via Swarm. One VPS to start; more when traffic insists. Swarm mode is the less-fashionable sibling of Kubernetes, and for a solo developer that is exactly the right amount of boring.
For context on where this sits in a stack: my indie hacker setup runs on managed services for database and hosting, and Supabase-vs-Firebase covers that trade. SwiftWave attacks the middle layer — the app runtime — where managed platforms charge a convenience tax that compounds with every service you add.
Try it on a ₹400 VPS
The documented path from the official docs:
One command, then a web dashboard. That is the correct amount of ceremony for a personal PaaS — everything harder than this is why people give up and hand their credit card to a managed platform. The repository's README links the current installation guide at swiftwave.org/docs/installation, which is the version to trust over any blog snippet, including mine.
Honest caveats
Team size is the headline risk: GitHub counts eight contributors since 2023. That is a real, working team — but it is not the Conveyor Belt of Awesome that a foundation-backed project offers, and you should calibrate accordingly: keep your Docker images portable (SwiftWave makes this easy by construction), keep backups outside the platform, and you have capped your exposure.
Release cadence is the second honest flag: version 2.23.1-1 shipped August 2, 2026, and the previous minor landed in May — meaningful gaps between releases. The repo shows continued pushes into September, so this reads as a project in a stable maintenance rhythm rather than stasis, but it is not shipping weekly, and you should not expect hot-fix turnaround on issues you file. Third, self-hosting has a floor: you are the on-call rotation for OS patches and TLS renewals even when the PaaS automates the rest. If even ₹400 plus one evening a quarter is too much operational weight, stay on managed hosting — that is a legitimate answer, not a failure.
I have not deployed a production app on SwiftWave yet; this analysis comes from the repository, its docs site, and release metadata, all verified September 5, 2026. It earned its slot in this series because it is the rare self-hosted project whose ambition (replace the Heroku shape) matches its discipline (Docker-native, boring tech, real docs).
Who should run it
Indie developers with three to ten small apps and a growing invoice from a managed platform — the math flips hard in SwiftWave's favor once the second or third service lands. Students and tinkerers on ARM boards get a genuinely production-shaped environment to learn on. Teams with real scale requirements already run Kubernetes and do not need this. And if you came up through GitHub Pages and Actions instead of a DevOps team, this is the natural next rung: same self-serve instinct, one level deeper into the stack. The next Buried Treasure stays on your own machines — a terminal UI that makes rsync stop being a memory test.
TL;DR
- SwiftWave is an Apache-2.0, Go-based self-hosted PaaS — Heroku-style deploys on any VPS, ARM boards included, via Docker and Swarm.
- 893 stars, alive since August 2023; v2.23.1-1 shipped August 2, 2026 with steady pushes since.
- One-command install, dashboard-driven deploys, automatic TLS, managed add-ons.
- Eight contributors and months-between-releases: keep images portable and backups external to cap your risk.
- The economics beat managed PaaS once you host more than two or three small services.
---
Not affiliated with SwiftWave, Heroku, Netlify, or Render. Sources: SwiftWave on GitHub and swiftwave.org — repo metadata, README, and releases verified September 5, 2026.