sbarbase

Open source · in development

Many Supabase projects. One server.

Original Supabase for every client, on one machine you own.

The idea in one short video.

Hierarchy

Clients, projects, environments.

Each environment has its own database, logins, Auth, REST and keys.

Client A owns the Shop project with production and staging environments. Client B owns the Blog project with a production environment. On your server, each environment has its own database inside one PostgreSQL engine. clientprojectenvironment Client AClient B ShopBlog productionstagingproduction Your server one PostgreSQL engine database · Shop · productiondatabase · Shop · stagingdatabase · Blog · production Client A owns the Shop project with production and staging environments. Client B owns the Blog project with a production environment. On your server, each environment has its own database inside one PostgreSQL engine. clientprojectenvironment Client AClient B ShopBlog productionstagingproduction Your server one PostgreSQL engine database · Shop · productiondatabase · Shop · stagingdatabase · Blog · production

How it works

One request, start to finish.

Your app calls its environment with a key. The gateway checks path, key and room. Its own Auth or REST takes it. It reaches only its own database. The answer returns, unseen by others. your appsupabase-js gateway pathkeyroom Auth · env A REST · env A Storageshared by all PostgreSQL databaseenv Aits own login othersothers busy or paused: refused
  • shared
  • per environment
  • database

Install

From an empty server.

  • 4 cores
  • 8 GB
  • x86-64
  • Ubuntu 26.04
  1. 1

    Install Docker

    Ubuntu 26.04 packages. Nothing else on the host.

    sudo apt-get update && sudo apt-get install -y docker.io docker-compose-v2 docker-buildx git && sudo systemctl enable --now docker
  2. 2

    Get the code

    sudo git clone https://github.com/M7MMAD-OMAR/sbarbase /opt/sbarbase
  3. 3

    Check the server

    Changes nothing. Says what to fix.

    cd /opt/sbarbase && sudo deploy/compose.sh check
  4. 4

    Start

    Pulls about 2.4 GB. Wait until sudo deploy/compose.sh logs shows Local Sbarbase API.

    cd /opt/sbarbase && sudo deploy/compose.sh up
  5. 5

    Create the first operator

    Asks for email, organization and password.

    cd /opt/sbarbase && sudo deploy/compose.sh bootstrap