Introduction:

Supabase is a powerful open-source platform that provides backend services such as a database, authentication, APIs, and storage—all in one place. It is often considered an alternative to Firebase, especially for developers who prefer working with open-source tools and PostgreSQL.

In this article, we will explain how to install Supabase on an Ubuntu 24 VPS. We will also cover how to configure an Nginx reverse proxy so you can access your Supabase instance using a domain name.


Key Features of Supabase:

Supabase comes with several useful features that make backend development easier and faster:

  • PostgreSQL Database
    Supabase uses PostgreSQL, a powerful and reliable relational database system.

  • Auto-Generated APIs
    It automatically creates RESTful APIs based on your database schema, saving development time.

  • Authentication & Authorization
    Built-in user authentication with support for email, password, and third-party providers.

  • Realtime Functionality
    Enables real-time data updates using WebSockets, which is useful for live applications.

  • Supabase Studio Dashboard
    A user-friendly web interface to manage your database, users, and settings.

  • Storage System
    Easily store and manage files such as images, videos, and documents.

  • Docker-Based Deployment
    Supabase runs using Docker, making it easy to deploy and manage on a VPS.

  • Open Source
    Fully open-source, giving you more control, flexibility, and transparency.


Install Supabase on Ubuntu 24 VPS:

Prerequisites:

Ensure your VPS meets the following requirements:

  • Operating System: Ubuntu 24.04

  • RAM: Minimum 2 GB (4 GB recommended)

  • Access: Root or sudo privileges


Step 1: Update System Packages

Before installing any software, update your system:

sudo apt update && sudo apt upgrade -y

Step 2: Install Required Packages

Install basic utilities required for the setup:

sudo apt install -y curl git unzip

Step 3: Install Docker

Supabase runs entirely on Docker, so Docker must be installed.

Add Docker Repository
sudo apt install -y ca-certificates gnupg

sudo install -m 0755 -d /etc/apt/keyrings

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo tee /etc/apt/keyrings/docker.asc > /dev/null

echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo $VERSION_CODENAME) stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
Install Docker Engine:
sudo apt update

sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin


Start and Enable Docker
sudo systemctl enable docker
sudo systemctl start docker
sudo systemctl status docker


Verify Docker Installation
docker --version



Step 4: Install Supabase CLI
Download and install the Supabase CLI:
curl -fsSL https://github.com/supabase/cli/releases/latest/download/supabase_linux_amd64.tar.gz -o supabase.tar.gz

tar -xvf supabase.tar.gz

sudo mv supabase /usr/local/bin/
Verify Installation:
supabase --version

Step 5: Initialize a Supabase Project

Create a project directory and initialize Supabase:

mkdir supabase-project
cd supabase-project

supabase init

Step 6: Start Supabase

Start all Supabase services using Docker:

supabase start





What This Does:

  • Pulls required Docker images

  • Starts all services (PostgreSQL, Auth, Studio, etc.)


Step 7: Access Supabase Dashboard

After starting, you will see output similar to:

API URL: http://YOUR_SERVER_IP:54321
Studio URL: http://YOUR_SERVER_IP:54323
Access from Browser:

Open the following in your browser: http://YOUR_SERVER_IP:54323


Step 8: Manage Supabase Services
Start Services
supabase start
Stop Services
supabase stop


Install Nginx Reverse Proxy (Optional but Recommended)

Using Nginx allows you to access Supabase via a domain.

Step 1: Install Nginx
sudo apt update
sudo apt install nginx -y
Start and Enable Nginx
sudo systemctl start nginx
sudo systemctl enable nginx
Verify Nginx Status
sudo systemctl status nginx

Step 2: Create Nginx Configuration

Create a new configuration file:

sudo nano /etc/nginx/sites-available/supabase

Add the Following Configuration:

server {
    listen 80;
    server_name yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:54323;
        proxy_http_version 1.1;

        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;

        proxy_cache_bypass $http_upgrade;
    }
}

This maps: yourdomain.com → Supabase Studio (port 54323)


Step 3: Enable the Configuration
sudo ln -s /etc/nginx/sites-available/supabase /etc/nginx/sites-enabled/
Test Configuration
sudo nginx -t
Reload Nginx
sudo systemctl reload nginx

Step 4: Access Supabase via Domain

Open your browser and visit: http://yourdomain.com


Conclusion:

In this article, we explained how to install Supabase on an Ubuntu 24 VPS and run it using Docker. We also configured an Nginx reverse proxy to make your Supabase instance accessible through a domain name. With this setup, you now have a fully functional backend platform that you can use to build modern web and mobile applications. Supabase simplifies backend development while still giving you full control over your infrastructure.

If you encounter any issues during installation, please feel free to contact us via chat or support. Our support team will assist you with the installation process.

Was this answer helpful? 0 Users Found This Useful (0 Votes)