The self-hosted PaaS drawer is not empty. Coolify, Dokploy, CapRover, Dokku, Kamal. If you have wanted a Heroku you actually own, someone has already built you three of them.
So when Openship showed up in July 2026 and hit several thousand GitHub stars in about a week, the reasonable reaction was skepticism. Another dashboard for docker compose up.
Having read through it, there is one architectural decision here that is actually different, and it is the kind of difference you feel on a 4 GB VPS. This post covers what that decision is, how to get the thing running three different ways, and an honest read on whether you should put anything you care about on it yet.
The one idea that matters
Every self-hosted PaaS in that drawer runs its entire control plane on your server. The dashboard, the database backing it, the build system, the CI runner, the webhook listener, and your actual apps all share one box and one set of resources.






