Back to all templates
Supabase (Lite) logo

Supabase (Lite)

Database2048MB+ RAM

Supabase with PostgreSQL, REST API, and Studio UI - simplified deployment

databasebaaspostgresapisupabase

Deploy Supabase (Lite) in 3 Steps

1

Connect Your VPS

Add your server credentials to Server Compass

2

Select Supabase (Lite)

Choose from our template library

3

Deploy & Configure

Fill in settings and click Deploy

No Docker knowledge required
DIY Deployment

Self-Host Supabase (Lite) with Docker

Take the DIY route and deploy Supabase (Lite) on your own server using Docker.

1

Remote into Your Server

Initiate a secure shell connection to your server using the command below.

terminal
# Connect to your VPS
ssh root@your-server-ip

# Or with a specific SSH key
ssh -i ~/.ssh/your-key root@your-server-ip

First time? Docker required! Install it with: curl -fsSL https://get.docker.com | sh

2

Create the App Directory

Organize your deployment by creating a dedicated project folder.

terminal
# Create and navigate to project directory
mkdir -p ~/apps/supabase-lite
cd ~/apps/supabase-lite
3

Write Your docker-compose.yml

Create a new docker-compose.yml file and paste this configuration:

docker-compose.yml
services:
  db:
    image: postgres:16-alpine
    ports:
      - "5432:5432"
    environment:
      - POSTGRES_PASSWORD=<your-postgres-password>
      - POSTGRES_USER=postgres
      - POSTGRES_DB=postgres
    volumes:
      - db_data:/var/lib/postgresql/data
      - ./init-supabase-roles.sql:/docker-entrypoint-initdb.d/01-init-roles.sql
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U postgres -d postgres"]
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 60s

  rest:
    image: postgrest/postgrest:v12.2.0
    ports:
      - "3001:3000"
    environment:
      - PGRST_DB_URI=postgres://authenticator:<your-postgres-password>@db:5432/postgres
      - PGRST_DB_SCHEMAS=public,storage,graphql_public
      - PGRST_DB_ANON_ROLE=anon
      - PGRST_JWT_SECRET=<your-jwt-secret>
      - PGRST_DB_USE_LEGACY_GUCS=false
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  meta:
    image: supabase/postgres-meta:v0.83.2
    ports:
      - "8080:8080"
    environment:
      - PG_META_PORT=8080
      - PG_META_DB_HOST=db
      - PG_META_DB_PORT=5432
      - PG_META_DB_NAME=postgres
      - PG_META_DB_USER=postgres
      - PG_META_DB_PASSWORD=<your-postgres-password>
    depends_on:
      db:
        condition: service_healthy
    restart: unless-stopped

  studio:
    image: supabase/studio:20240729-ce42139
    ports:
      - "3000:3000"
    environment:
      - STUDIO_PG_META_URL=http://meta:8080
      - POSTGRES_PASSWORD=<your-postgres-password>
      - DEFAULT_ORGANIZATION_NAME=Default Organization
      - DEFAULT_PROJECT_NAME=Default Project
      - SUPABASE_URL=http://rest:3000
      - SUPABASE_PUBLIC_URL=http://localhost:3001
      - NEXT_PUBLIC_ENABLE_LOGS=true
    depends_on:
      - meta
      - rest
    restart: unless-stopped

volumes:
  db_data:
Configurable Options
DB_PORTPostgreSQL port(default: 5432)
REST_PORTPostgREST API port(default: 3001)
META_PORTPostgres Meta port(default: 8080)
STUDIO_PORTSupabase Studio port(default: 3000)
POSTGRES_PASSWORDDatabase password
JWT_SECRETJWT secret (min 32 chars)
4

Launch the Containers

Start the services and tail the logs to verify startup.

terminal
# Spin up containers
docker compose up -d

# Verify deployment
docker compose ps

# Check logs for errors
docker compose logs -f
5

Open Firewall Ports

Open the required port in your firewall to allow access.

terminal
# Allow the application port through firewall
sudo ufw allow 80/tcp
sudo ufw reload

# Access your app at:
# http://your-server-ip:80
Skip the Terminal

Want the easy way? Try Server Compass.

Forget SSH and YAML files. Deploy Supabase (Lite) visually with Server Compass in just a few clicks.

  • Visual config editor
  • Instant deployment
  • Automatic HTTPS
  • Smooth updates
  • Live monitoring
  • Quick rollbacks
Download Server Compass$29 one-time • Lifetime license

After Deployment

After deploying Supabase (Lite) with Server Compass, complete these steps to finish setup

1

Access Supabase Studio

2

Create database tables using the SQL editor

3

Set up Row Level Security (RLS) policies

4

Use the REST API

5

For full features (Auth, Realtime, Storage), follow official docs

Need help? Check out our documentation for detailed guides.

Supabase (Lite) FAQ

Common questions about self-hosting Supabase (Lite)

How do I deploy Supabase (Lite) with Server Compass?

Simply download Server Compass, connect to your VPS, and select Supabase (Lite) from the templates list. Fill in the required configuration and click Deploy. The entire process takes under 3 minutes.

What are the system requirements for Supabase (Lite)?

Supabase (Lite) requires a minimum of 2048MB RAM. We recommend a VPS with at least 4096MB RAM for optimal performance. Any modern Linux server with Docker support will work.

Can I migrate my existing Supabase (Lite) data?

Yes! Server Compass provides volume mapping that allows you to import existing data. You can also use standard Supabase (Lite) backup and restore procedures.

How do I update Supabase (Lite) to the latest version?

Server Compass makes updates easy. Simply click the Update button in your deployment dashboard, and the latest Supabase (Lite) image will be pulled and deployed with zero downtime.

Is Supabase (Lite) free to self-host?

Supabase (Lite) is open-source software. You only pay for your VPS hosting (typically $5-20/month) and optionally Server Compass ($29 one-time). No subscription fees or per-seat pricing.

Ready to Self-Host Supabase (Lite)?

Download Server Compass and deploy Supabase (Lite) to your VPS in under 3 minutes. No Docker expertise required.

Download Server Compass