Supabase Cloud vs self-hosted: which model fits?
Timo Wevelsiep•Updated: 25.08.2026Editorial note: Versions, commands and prices may change. Please verify critical steps independently before production use. This guide does not replace individual consulting.
Assessing a cloud exit or looking for an operator? WZ-IT plans a Supabase migration from €3,490 and can run the target on managed or customer-controlled infrastructure.
Supabase Cloud and self-hosted Supabase use the same open-source core, but they are not identical products. Supabase operates the cloud platform. In a self-hosted setup, the runtime components run on another infrastructure and operational responsibility moves to its operator.
The decision is therefore not simply “cloud versus one server”. Features, availability, data paths, recovery, staffing and incident ownership all matter.
Comparison at a glance
| Criterion | Supabase Cloud | Self-hosted Supabase |
|---|---|---|
| Infrastructure | Operated by Supabase | Customer, cloud or managed infrastructure |
| Updates | Platform-managed | Planned and tested by the operator |
| Backups | Managed according to plan | Custom backup and restore architecture |
| PITR | Plan-dependent add-on | Built using PostgreSQL WAL archiving |
| Branching | Platform capability | Not included automatically |
| Monitoring | Platform metrics and logs | Custom metrics, logs, alerts and response |
| Projects | Organisations and multiple projects | Self-hosted Studio manages one stack as one project |
| Scaling | Platform and compute options | Resources and component separation designed by operator |
| Operating location | Available Supabase regions | Chosen within the target architecture |
| Responsibility | Supabase plus customer application duties | Operator plus customer platform and application duties |
The official Supabase documentation explicitly lists cloud capabilities unavailable in self-hosting: branching, advanced metrics beyond logs, managed backups and PITR, analytics and vector buckets, ETL and the platform management API.
What both models provide
The self-hosted stack includes the core runtime:
- PostgreSQL
- Auth
- Storage
- Realtime
- REST and GraphQL APIs
- Functions runtime
- Studio
- API gateway and connection pooling
Available does not mean operated in the same way. Self-hosted functions run on the target instance rather than an automatically distributed global network. Storage needs a defined backend and separate protection. Studio needs hardening, and administrative endpoints should not be exposed indiscriminately.
When Supabase Cloud is usually the better fit
Cloud is often appropriate when:
- an application is still at an early stage,
- the team prioritises development speed,
- there is little internal platform capacity,
- managed backups and platform metrics are wanted,
- load and user growth remain uncertain,
- no customer-controlled infrastructure is required.
A self-managed server can look cheaper on an infrastructure invoice. The calculation changes once availability, updates, backup assurance and recovery are included.
When self-hosting can be appropriate
Self-hosting is plausible when:
- a specific cloud, data-centre or on-premises location is required,
- private networks and internal systems need direct integration,
- the platform should use an existing backup and monitoring estate,
- capacity and cost need more explicit sizing,
- an isolated deployment is required,
- the company or a provider can own platform operations.
The desire for control is not sufficient by itself. The organisation must exercise that control: who reviews updates, responds to alerts, restores storage and decides how long PostgreSQL may be unavailable?
Managed self-hosting as a third option
Managed self-hosting sits between Supabase Cloud and fully internal operations. The platform runs on a dedicated or customer-controlled environment while an operator takes responsibility for an agreed scope:
- installation and hardening
- monitoring and alerting
- updates and tested deployments
- database and storage backups
- restore tests
- incident response according to service level
- technical documentation
This keeps control over location and infrastructure without pushing every platform task into the application team.
Leaving Cloud is a migration, not a toggle
A cloud-to-self-hosted move covers at least:
- PostgreSQL roles, schema and data
- auth users, providers, SMTP, JWT and redirects
- storage metadata and actual objects
- functions, secrets and webhooks
- realtime, pooling and domains
- frontend and server configuration
- test, cutover and rollback
The official restore guide intentionally focuses on database restoration and states that storage objects and functions require separate handling.
Decision matrix
| Starting point | Sensible default |
|---|---|
| MVP without infrastructure constraints | Supabase Cloud |
| Production app without a platform team | Cloud or managed self-hosting |
| Fixed operating location and internal IT ownership | Self-hosted |
| Fixed operating location without an operations team | Managed self-hosting |
| Cloud project with unclear dependencies | Assessment before migration |
| Critical app with very low downtime | Custom migration and HA architecture |
The decision should be reviewed as the application changes. Users, storage, egress, operational requirements and internal capacity all evolve.
Sources
Rather have it operated?
You'd rather not run Supabase yourself? WZ-IT handles setup, operations and maintenance - privacy-focused from Germany.
Enquiry
Migrate, secure, or operate Supabase
We migrate Supabase projects and existing backends such as Firebase, Lovable, PostgreSQL, MySQL or Auth0, build the target environment, and can take over ongoing operations.
Frequently Asked Questions
Answers to the most important questions
No. The central runtime components are available, but managed capabilities such as branching, managed backups and PITR, advanced platform metrics and the management API are not included automatically.
No. Server cost is only one component. Administration, monitoring, backups, restore tests, updates and incident response must also be included. Cloud is often more economical for small or early-stage projects.
Yes. PostgreSQL, auth data, storage, functions and application configuration need to be planned as separate migration tracks. A database dump alone does not represent the complete backend.
When a company needs control or a specific operating location but does not want its development team to own updates, backups, monitoring and recovery.
More on Supabase
- What is Supabase?
- Supabase Cloud vs self-hosted
- Supabase self-hosting: pros & cons
- Supabase cost: Cloud vs self-hosted
- Migrate Supabase Cloud to self-hosted
- Migrate a Supabase project, region or organisation
- Migrate PostgreSQL to Supabase
- Migrate AWS RDS and Aurora to Supabase
- Migrate Heroku Postgres to Supabase
- Migrate Neon and Vercel Postgres to Supabase
- Migrate MySQL and MariaDB to Supabase
- Migrate Microsoft SQL Server and Azure SQL to Supabase
- Migrate Firebase to Supabase
- Migrate Lovable Cloud to Supabase
- Migrate Auth0 to Supabase Auth
- Supabase migration checklist
- Back up Supabase completely
- Update self-hosted Supabase
- Audit Supabase RLS
- Run Supabase on Hetzner
- Install Supabase with Coolify





