Self-host Supabase on a KVM VPS: official docker compose stack (Postgres, Auth, Storage, Kong, Studio), honest sizing 8–24 GB, your data on NVMe. Crypto accepted, from €12/mo.
Supabase is a full backend — Postgres with realtime subscriptions, GoTrue auth, object storage, the Kong gateway and the Studio dashboard — and the cloud is one way to run it. The self-hosted route runs the very same containers from the official docker compose repository on hardware you picked: no per-project pricing, no per-usage meter, no vendor deciding where your data lives. The trade-off is honest and the guide states it plainly: upgrades, backups and monitoring become your job. If `docker compose` and a backup timer feel comfortable, self-hosting turns your VPS into a backend with a flat invoice.
| Stage | Plan | Why |
|---|---|---|
| First stack, development | Core VPS 4 — €12/mo | 8 GB is where the stack runs comfortably; Supabase's official minimum is 4 GB — for a bare stack |
| Comfortable daily driver | Core VPS 6 NVMe — €13/mo | 12 GB NVMe stops Postgres and storage uploads fighting over the disk |
| Production app | Core VPS 8 NVMe — €34/mo | 24 GB / 150 GB NVMe — the fit our own sizing guide recommends for real traffic |
Cloud gives you managed upgrades, point-in-time backups, branching and edge functions without setup — you pay per project and per usage. Self-hosting gives flat costs, your data on your disk and no vendor lock — and hands you upgrades, backups and monitoring. Comfortable with `docker compose` and a restic timer? Self-host. Otherwise start on the free cloud tier and migrate later.
For development and a small product, yes. Supabase documents 4 GB as the bare minimum — an empty stack — while 8 GB is where a database plus realtime stop fighting over memory; 16 GB is the comfortable line. NVMe matters because the database and uploads share one disk. The table above matches those numbers to plans.
You do — that is the honest difference from the cloud. A weekly `docker compose pull && docker compose up -d` window, a restic daily off-site copy of the Postgres volume, and something watching port 8000. None of it is hard; all of it is yours.
Backend you own Flat VPS price, crypto accepted, stack up the same evening. See plans →