Best VPS for Self-Hosted Supabase in 2026
Looking for the best VPS to self-host Supabase? We compare top VPS providers for running your own Supabase instance with PostgreSQL, Auth, and Realtime.
Best VPS for Self-Hosted Supabase in 2026
Supabase is the open-source Firebase alternative built on PostgreSQL. Self-hosting it on a VPS gives you full control, no row limits, and massive savings over the managed platform. If you just need the database, check our PostgreSQL VPS guide.
What is Supabase?
What is Supabase?
Supabase is an open-source backend-as-a-service that bundles:
- PostgreSQL database with row-level security
- Auth — email, OAuth, magic links, SSO
- Realtime — WebSocket subscriptions on database changes
- Storage — S3-compatible file storage
- Edge Functions — Deno-based serverless functions
- PostgREST — instant REST API from your schema
- Studio — web-based admin dashboard
Why Self-Host Supabase?
- No row or bandwidth limits — the managed Free tier caps at 50K rows
- Full PostgreSQL access — install any extension (pgvector, PostGIS, TimescaleDB)
- Data sovereignty — keep data in your own jurisdiction
- Cost savings — a $10/mo VPS replaces the $25/mo Pro plan
- Custom domains — use your own domain for Auth and APIs
Supabase VPS Requirements
Supabase runs ~15 Docker containers (PostgreSQL, GoTrue, Realtime, PostgREST, Kong, Studio, and more). It is significantly heavier than a single-service app.
| Requirement | Minimum | Recommended |
|---|---|---|
| CPU | 2 vCPU | 4+ vCPU |
| RAM | 4GB | 8GB+ |
| Storage | 40GB SSD | 80GB+ NVMe |
| Bandwidth | 2TB | Unmetered |
| OS | Ubuntu 22.04+ | Ubuntu 24.04 LTS |
| Docker | Required | Docker Compose v2 |
Important: Do not attempt Supabase on a 1GB or 2GB RAM VPS — PostgreSQL alone needs 2GB for comfortable operation, and the full stack demands more.
Top VPS Picks for Supabase
1. Hetzner Cloud (Best Overall)
€7.49/mo | 4 vCPU, 8GB RAM, 80GB NVMe
Hetzner is the top pick for self-hosted Supabase:
- 8GB RAM handles the full Supabase stack with room to spare
- NVMe storage delivers fast PostgreSQL queries
- Unmetered bandwidth — no surprise bills from Realtime WebSocket traffic
- EU and US data centers
- Excellent API and CLI for automation
Why it’s best for Supabase: The 8GB RAM at under €8/mo is unmatched. Supabase’s Docker stack runs comfortably with headroom for your actual data.
2. Contabo (Best for Heavy Usage)
€8.49/mo | 6 vCPU, 16GB RAM, 100GB NVMe
For larger Supabase deployments with heavy database usage:
- 16GB RAM — run Supabase, pgvector, and background workers together
- 6 vCPU handles concurrent PostgREST and Realtime connections
- Unlimited bandwidth
- Storage upgrades available up to 400GB
3. Hostinger VPS (Best Value Entry Point)
$5.99/mo | 2 vCPU, 8GB RAM, 100GB NVMe
A solid starting point if you want to keep costs minimal:
- 8GB RAM is enough for a light-to-moderate Supabase instance
- 100GB NVMe — generous default storage
- 24/7 live chat support
- 8TB bandwidth
Why it’s best for getting started: Low price, good RAM, and beginner-friendly support make it easy to get Supabase running quickly.
4. DigitalOcean (Best Developer Experience)
$24/mo | 2 vCPU, 4GB RAM, 80GB SSD
For developers who value great tooling and docs:
- Industry-leading documentation and community
- One-click Docker droplet
- Managed databases available if you outgrow self-hosting
- Monitoring and alerting built-in
Note: The 4GB plan is the minimum viable option — consider the $48/mo (4 vCPU, 8GB) plan for production workloads.
5. Vultr (Best Global Coverage)
$24/mo | 2 vCPU, 4GB RAM, 80GB SSD
Good for latency-sensitive Realtime subscriptions:
- 32 data center locations worldwide
- Fast NVMe storage
- Hourly billing — spin up test instances cheaply
- $100 free credit for new users
Quick Supabase Installation
Step 1: Get Your VPS
Choose a provider and select Ubuntu 24.04 LTS with at least 4GB RAM.
Step 2: Install Docker
apt update && apt upgrade -y
curl -fsSL https://get.docker.com | sh
Step 3: Clone Supabase Docker
git clone --depth 1 https://github.com/supabase/supabase
cd supabase/docker
cp .env.example .env
Step 4: Configure Environment
Edit .env and set secure values:
# Generate secure keys
POSTGRES_PASSWORD=$(openssl rand -base64 32)
JWT_SECRET=$(openssl rand -base64 32)
ANON_KEY=your-generated-anon-key
SERVICE_ROLE_KEY=your-generated-service-role-key
DASHBOARD_USERNAME=admin
DASHBOARD_PASSWORD=$(openssl rand -base64 16)
Use the Supabase JWT generator to create your ANON_KEY and SERVICE_ROLE_KEY from the JWT_SECRET.
Step 5: Start Supabase
docker compose pull
docker compose up -d
Step 6: Access Studio
Open http://your-server-ip:8000 in your browser. Log in with the dashboard credentials from .env.
Next step: Set up a reverse proxy with Nginx and SSL certificates for production use.
Provider Comparison
| Provider | RAM | CPU | Price | Storage | Bandwidth |
|---|---|---|---|---|---|
| Hetzner | 8GB | 4 vCPU | €7.49 | 80GB NVMe | Unmetered |
| Contabo | 16GB | 6 vCPU | €8.49 | 100GB NVMe | Unlimited |
| Hostinger | 8GB | 2 vCPU | $5.99 | 100GB NVMe | 8TB |
| DigitalOcean | 4GB | 2 vCPU | $24 | 80GB SSD | 4TB |
| Vultr | 4GB | 2 vCPU | $24 | 80GB SSD | 3TB |
Supabase Performance Tips
1. Tune PostgreSQL for Your RAM
Edit volumes/db/postgresql.conf or add to your Docker Compose:
environment:
POSTGRES_INITDB_ARGS: "--data-checksums"
command:
- postgres
- -c
- shared_buffers=2GB
- -c
- effective_cache_size=6GB
- -c
- work_mem=64MB
- -c
- maintenance_work_mem=512MB
Adjust values based on your VPS RAM — allocate ~25% to shared_buffers.
2. Enable Connection Pooling
Supabase includes PgBouncer by default in the Docker stack. For high-traffic apps, tune the pool size in .env:
PGBOUNCER_DEFAULT_POOL_SIZE=20
3. Set Up Automated Backups
# Daily PostgreSQL backup via cron
0 3 * * * docker exec supabase-db pg_dump -U postgres -Fc > /backups/supabase_$(date +\%Y\%m\%d).dump
4. Monitor Resource Usage
# Check all Supabase containers
docker stats --no-stream
# Check PostgreSQL connections
docker exec supabase-db psql -U postgres -c "SELECT count(*) FROM pg_stat_activity;"
If RAM usage stays above 85%, upgrade your VPS plan.
5. Use pgvector for AI Features
Self-hosting lets you install pgvector for vector similarity search:
CREATE EXTENSION IF NOT EXISTS vector;
CREATE TABLE documents (
id BIGSERIAL PRIMARY KEY,
content TEXT,
embedding vector(1536)
);
This is free on your VPS — Supabase managed charges extra for vector storage.
Supabase vs Managed: Cost Comparison
| Setup | Monthly Cost | Rows | Storage | Realtime |
|---|---|---|---|---|
| Supabase Free (managed) | $0 | 50K | 1GB | 200 connections |
| Supabase Pro (managed) | $25 | 8GB DB | 100GB | 500 connections |
| Hetzner CX32 (self-hosted) | €7.49 | Unlimited | 80GB | Unlimited |
| Contabo Cloud VPS M (self-hosted) | €8.49 | Unlimited | 100GB | Unlimited |
Self-hosting saves $15-20/mo over Pro and removes all artificial limits.
FAQ
How much RAM do I need for Supabase?
- Development/testing: 4GB minimum
- Light production (< 10K users): 8GB recommended
- Heavy production (10K+ users): 16GB+
Can I run Supabase on a $5 VPS?
Not reliably. The full Docker stack needs 3-4GB RAM at idle. A 4GB VPS is the absolute minimum, and 8GB is strongly recommended.
Should I use Supabase managed or self-host?
Use managed if you want zero ops overhead and are within the plan limits. Self-host if you need unlimited rows, custom extensions, data sovereignty, or want to save money.
How do I update self-hosted Supabase?
cd supabase/docker
git pull
docker compose pull
docker compose up -d
Can I migrate from managed to self-hosted?
Yes. Export your database with pg_dump from Supabase managed and import it into your self-hosted PostgreSQL instance. Auth users and storage objects need separate migration — see the Supabase migration docs.
What about Edge Functions?
Self-hosted Supabase supports Edge Functions via the Deno runtime container. They work the same as managed, just running on your VPS instead.
Conclusion
For most users self-hosting Supabase, Hetzner Cloud offers the best balance of performance and price:
- 8GB RAM at €7.49/mo — runs the full stack comfortably
- NVMe storage for fast PostgreSQL queries
- Unmetered bandwidth for Realtime and API traffic
- EU and US data centers for compliance
If you need more power, Contabo gives you 16GB RAM for just €1 more. And if you want a gentle on-ramp with great support, Hostinger is a solid starting point.
Self-hosting Supabase on a VPS saves money, removes limits, and gives you full control over your backend infrastructure.
Ready to get started?
Get the best VPS hosting deal today. Hostinger offers 4GB RAM VPS starting at just $4.99/mo.
Get Hostinger VPS — $4.99/mo// up to 75% off + free domain included
// related topics
// related guides
Best VPS for Supabase Hosting 2026: Top Providers for Self-Hosted Supabase
Find the best VPS for self-hosting Supabase. Compare specs, performance, and pricing for running your own Supabase instance with PostgreSQL and real-time features.
reviewAWS EC2 Alternatives 2026: Cheaper, Simpler VPS Hosting
Best AWS EC2 alternatives for cheaper VPS hosting. Compare Hetzner, Vultr, DigitalOcean, and more — save 70%+ with simpler billing.
reviewCheapest VPS Hosting 2026 — Best Budget Servers From $2.50
We compared 10 budget VPS providers on price, specs, and support. Here are the cheapest worth using — from $2.50/mo with real performance data.
reviewBest GPU VPS in 2026 — Cheapest NVIDIA Servers Compared
Rent GPU servers from $0.50/hr. We compare 8 GPU VPS providers for AI training, inference, and rendering — NVIDIA A100, H100, and RTX options.
Andrius Putna
I am Andrius Putna. Geek. Since early 2000 in love tinkering with web technologies. Now AI. Bridging business and technology to drive meaningful impact. Combining expertise in customer experience, technology, and business strategy to deliver valuable insights. Father, open-source contributor, investor, 2xIronman, MBA graduate.
// last updated: March 17, 2026. Disclosure: This article may contain affiliate links.