Supabase Hosting on Your Own VPS
Postgres with auth, storage and realtime APIs, on your own server.
Size a server for Supabase
Every stop is a real configuration you can deploy. Priced per 30 days, billed by the hour, exclusive of 18% GST.
What Supabase is
Supabase is a backend platform built around PostgreSQL. It adds an auto-generated REST API over your schema, authentication, file storage, realtime subscriptions and edge functions — the pieces most applications need before they can start on the interesting part.
Self-hosting means running those pieces yourself: Postgres, PostgREST for the API, GoTrue for auth, Realtime, Storage and Kong as the gateway. The official Docker Compose stack assembles them, which is the supported route.
The reason to self-host is usually control rather than cost. Hosted Supabase pauses free projects after inactivity and has row and storage limits by tier; self-hosted has neither. Against that, you are running six or seven services, and version upgrades across them are your responsibility. If you mainly want Postgres with an API in front, self-hosting is very reasonable. If you want the whole platform maintained for you, hosted is honestly the better answer.
Why run Supabase on a VPS
No row, storage or project-pause limits.
Postgres you have real root access to, including extensions.
Data in a region you choose.
Resize as the database grows, without a tier migration.
Supabase features
PostgreSQL with the Supabase extension set
Auto-generated REST API over your schema
Authentication with email, OAuth and magic links
Row-level security enforced in the database
File storage with access policies
Realtime subscriptions over WebSockets
Recommended server
A starting point for Supabase, not a hard floor — size it on the sliders.
| Memory | 8 GB — six or seven services plus Postgres |
|---|---|
| CPU | 4 vCPU |
| Storage | 80 GB; database plus file storage together |
| Operating system | Ubuntu 22.04 LTS |
How deployment works
Supabase is deployed from the official Docker Compose stack, behind TLS on your own domain. Change every default secret before exposing it — the stack ships with well-known development keys, and leaving them in place is equivalent to publishing your database. Postgres data and the storage volume both need backing up; they are separate.
What people run it for
Application backends
Postgres with auth and an API, without writing that layer.
Data residency
User records in a required jurisdiction.
Avoiding tier limits
Row counts and storage bounded by disk rather than by plan.
Development environments
A full stack per environment at server prices.
Supabase hosting questions
Related applications
Deploy Supabase on your own server
Root access, your choice of size, and no container between you and the application.