• Supabase
  • Docker Compose
  • Postgres
  • NGINX

Supabase VPS HostingPostgres, auth and storage on your own server

Supabase bundles Postgres, auth, storage, realtime and Studio in one stack. Self-host it with Docker Compose and keep your data and keys on a server you control. We prepare the VPS, Docker and HTTPS; you run the stack.

  • KVM virtualisation
  • NVMe storage
  • Root SSH access
  • Free one-time setup
  • 99.9% uptime SLA

systemctl list-units --type=service --state=active

  • dockerSupabase services (compose stack)
  • postgresdatabase inside the stack
  • nginxHTTPS reverse proxy to port 8000
  • ufwfirewall: 22, 80, 443
  • fail2banSSH brute-force guard
  • unattended-upgradessecurity updates

Installed and secured before handover.

4 GBSupabase's documented minimum RAM
8 GB+recommended for production
:8000gateway port behind your HTTPS proxy
Postgresfull database access
01Why a VPS

Why Self-Host Supabase on a VPS

Hosted Supabase is convenient. Self-hosting gives you the same building blocks on a server and at a cost you control.

Your data on your server

The database and uploaded files stay where you choose.

Flat server cost

No per-project plan limits on the server you run.

The same API and tools

Studio, client libraries and the REST and auth APIs work as documented.

Full database access

Connect with any Postgres tool, and run your own extensions and settings.

02The stack

How Self-Hosted Supabase Is Set Up

A Docker Compose stack behind an HTTPS reverse proxy.

  1. Reverse proxy

    NGINX

    HTTPS on your domain, passing to the API gateway on port 8000.

  2. API gateway

    Envoy (Kong optional)

    One entry point to Studio and the APIs.

  3. Services

    Auth, REST, Realtime, Storage, Functions, Studio

    The Supabase services, run as containers.

  4. Database

    Postgres, with a connection pooler

    Your data, with Supavisor in front.

  5. Files

    Local volume on NVMe

    Uploaded files for Storage.

05 FILES Local volume on NVMe 04 DATABASE Postgres, with a connect… 03 SERVICES Auth, REST, Realtime, St… 02 API GATEWAY Envoy (Kong optional) 01 REVERSE PROXY NGINX

Engineer's notes

  1. Supabase's guide lists 4 GB RAM, 2 cores and 40 GB SSD as the minimum, and 8 GB+, 4 cores+ and 80 GB+ as recommended.
  2. Generate your own keys and set a dashboard password before production; the sample values in the guide are not safe.
  3. The stack serves plain HTTP on port 8000 by default; put a reverse proxy with HTTPS in front, especially for OAuth sign-in.
  4. Configure an SMTP server for sign-up and password emails.
  • 443HTTPS, your reverse proxy
  • 80HTTP, redirects to HTTPS
  • 22SSH, you only
  • 8000API gateway, behind the proxy
03Use cases

What You Can Run

A backend for a web or mobile app

Database, auth and storage behind one API.

Postgres with auth and file storage

Use what you need, ignore the rest.

Prototypes and staging

The same stack as production at low cost.

Internal tools

Row-level security and auth for team apps.

Realtime features

Live updates driven by database changes.

Edge functions

Small server-side functions beside your data.

04Sizing guide

Which Plan for Your Supabase Server

The stack runs many services at once. Memory decides how comfortable it is.

Recommended start

VPS-1

2 vCores, 4 GB RAM and 40 GB NVMe: the documented minimum.

vCores2
RAM4 GB
NVMe40 GB
See VPS-1
Recommended start

VPS-2

4 vCores, 8 GB RAM and 75 GB NVMe: the documented recommendation for RAM and cores.

vCores4
RAM8 GB
NVMe75 GB
See VPS-2
Recommended start

VPS-3

6 vCores, 12 GB RAM and 100 GB NVMe.

vCores6
RAM12 GB
NVMe100 GB
See VPS-3
Recommended start

VPS-4

8 vCores, 24 GB RAM and 200 GB NVMe.

vCores8
RAM24 GB
NVMe200 GB
See VPS-4

A starting point, not a limit: every plan upgrades in place, keeping your data, IP address and configuration.

05After handover

Running Supabase With Docker Compose

Follow Supabase's self-hosting guide; these are the steps it describes.

  1. Get the files

    A shallow clone of the self-hosted configuration, as in the guide.

    git clone --depth 1 https://github.com/supabase/supabasemkdir supabase-project && cp -rf supabase/docker/. supabase-project
  2. Create your configuration

    Copy the example settings, then generate keys and set the dashboard password and URLs as the guide says.

    cd supabase-project && cp .env.example .envsh utils/generate-keys.sh
  3. Start the stack

    Pull the images and start every service.

    docker compose pulldocker compose up -d
  4. Check the containers

    Every service should be healthy.

    docker compose ps
  5. Update later

    Take a snapshot first, then follow the guide's update steps.

    docker compose pulldocker compose up -d

Example commands: adjust names, paths and versions to your project. Deploying and maintaining your application is yours to do, or ask us for a quote.

06Cheat sheet

Supabase commands you will use every week

Copy, paste, adjust the names. Each one is safe to run as your own user on the server.

Start or update the stack

docker compose pulldocker compose up -d

See container health

docker compose ps

Follow one service log

docker compose logs -f auth

Restart one service

docker compose restart studio

Disk used by Docker

docker system df

Stop the stack (data stays in volumes)

docker compose down
07Compare

Hosted Supabase or Self-Hosted on a VPS?

Hosted Supabase removes the work. Self-hosting gives you control and a flat cost.

Hosted Supabase

  • PricingPer project and usage plan
  • Where data livesThe provider's regions
  • Updates and backupsHandled by the provider
  • ScalingPlan upgrades
  • Server administrationHandled by the provider

Supabase VPS

  • PricingFlat server cost
  • Where data livesYour server, your location
  • Updates and backupsYours: updates and extra backups
  • ScalingA bigger VPS plan
  • Server administrationYours, after our free setup
Choose a VPS plan
08Handover

Your Supabase server

Free one-time setup before you get access. Here is what happens, and what you receive.

  1. Pick a plan and a location

    Resources that fit your workload, in the datacentre closest to your users.

  2. Tell us your Supabase setup

    Versions, database and domain: at order or right after.

  3. We install and secure it

    Server hardened, the stack installed and tested, HTTPS on your domain.

  4. You get root

    SSH to a working server, ready for your code and data.

Installed for you

  • Docker and the Compose plugin installed
  • NGINX reverse proxy with HTTPS on your domain, ready for port 8000
  • Firewall open for SSH, HTTP and HTTPS only
  • The Supabase configuration, keys, dashboard password and SMTP are set up by you, following the self-hosting guide

Secured before handover

  • Non-root sudo user created for daily work
  • SSH key login, password login for root disabled
  • Firewall (UFW) open only for the ports you use
  • Fail2ban blocking repeated login attempts
  • Automatic security updates enabled
  • Free Let's Encrypt SSL on your domain
  • Timezone, swap and hostname configured

Not included (we say so up front)

  • Ongoing server administration
  • Application maintenance and updates
  • Debugging your code
  • Migrating existing sites or data
09Hardening and tuning

Security and Performance for Supabase

Security

  • Replace every sample secret; never run with the values from the example file.
  • Set a strong dashboard password and keep Studio behind HTTPS.
  • Keep the database port closed to the internet unless you really need it.
  • Follow Supabase's update steps and keep extra database backups.

Performance

  • Give the stack enough RAM; a dozen services start together.
  • Use the connection pooler for many client connections.
  • Keep free disk space for the database and uploaded files.
  • Check container logs with `docker compose logs` when a service is unhealthy.

Built from the official documentation

VPS Plans

VPS Plans for Supabase

VPS-1 meets Supabase's stated minimum of 4 GB RAM and 2 cores. For anything beyond testing, choose VPS-2 or above.

VPS-1

Small websites, APIs, bots and development servers.

₹1,008 /mo
Get Started
  • 2 vCores
  • 4 GB RAM
  • 40 GB NVMe
  • 500 Mbps
  • Full root and SSH access
  • Free initial stack installation
  • Server hardening and firewall setup
  • Daily backup of the previous 24 hours
  • Unlimited traffic *
  • Anti-DDoS protection
  • Dedicated IPv4 and IPv6
  • KVM virtualisation

VPS-3

Busy stores, SaaS products and several projects.

₹2,748 /mo
Get Started
  • 6 vCores
  • 12 GB RAM
  • 100 GB NVMe
  • 2 Gbps
  • Full root and SSH access
  • Free initial stack installation
  • Server hardening and firewall setup
  • Daily backup of the previous 24 hours
  • Unlimited traffic *
  • Anti-DDoS protection
  • Dedicated IPv4 and IPv6
  • KVM virtualisation

VPS-4

High-traffic apps, large databases and agencies.

₹5,274 /mo
Get Started
  • 8 vCores
  • 24 GB RAM
  • 200 GB NVMe
  • 3 Gbps
  • Full root and SSH access
  • Free initial stack installation
  • Server hardening and firewall setup
  • Daily backup of the previous 24 hours
  • Unlimited traffic *
  • Anti-DDoS protection
  • Dedicated IPv4 and IPv6
  • KVM virtualisation

* Unlimited traffic in Europe and North America. In Mumbai, Singapore and Sydney a monthly allowance applies (VPS-1 500 GB, VPS-2/VPS-3 1 TB, VPS-4 3 TB), then speed is limited to 10 Mbps until the next month.

Prices exclude 18% GST, which is added to invoices for customers in India.

10Under the hood

Platform specs and locations

The same KVM platform on every plan; only CPU, RAM, storage and port speed change.

Virtualisation
KVM with reserved vCores and RAM
Storage
NVMe SSD on every plan
Network
Dedicated IPv4 and IPv6, 500 Mbps to 3 Gbps per plan
Operating systems
Ubuntu 26.04, 24.04 and 22.04 LTS · Debian 13, 12 and 11 · AlmaLinux · Rocky Linux · Fedora · FreeBSD
Access
Full root over SSH, key-based login
Backups
Automatic daily backup of the previous 24 hours; snapshots and longer retention on request
Protection
Always-on anti-DDoS mitigation
Availability
99.9% uptime SLA

Asia-Pacific

  • Mumbai
  • Singapore
  • Sydney

Europe

  • London
  • Limburg
  • Roubaix
  • Gravelines
  • Strasbourg
  • Milan
  • Warsaw

North America

  • Beauharnois

Availability per location changes with demand; we confirm your location before setup. In Mumbai, Singapore and Sydney each plan includes a monthly traffic allowance (VPS-1 500 GB, VPS-2 and VPS-3 1 TB, VPS-4 3 TB); beyond it, speed is limited to 10 Mbps until the next month.

Supabase VPS FAQs

Questions before you deploy

Not covered here? Ask an engineer before you order.

Ready when you are

Self-Host Your Backend

Choose a plan and we hand over a hardened server with Docker and HTTPS ready for your Supabase stack.