Tutorials

SwiftWave Turns Any VPS Into Your Own Heroku (Self-Hosted PaaS Guide)

· Tutorials

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.

SwiftWave Turns Any VPS Into Your Own Heroku (Self-Hosted PaaS Guide)

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.

ansaribilal.com — technology, tested in public.