Linux

Node, Docker Engine and the cross-platform launcher. The terminal steps for a workstation or a server.

What is supported

The manager runs on Linux as a Node application. You need Node.js 18 or later, npm, a Docker daemon, and the Supabase CLI through npx. Docker Engine is sufficient; a desktop environment is not required. The setup script checks Node strictly and warns about Docker and the CLI.

The launcher is cross-platform and does not depend on PowerShell. For a server, run the production launcher and keep it under your process supervisor of choice.

Install on Linux

  1. Check Node and npm

    Install Node 18 or later with your distribution package, NodeSource or a version manager, then confirm.

    node --version
    npm --version
  2. Start Docker

    Start the Docker daemon and confirm the current user can reach it.

    docker info
  3. Check the Supabase CLI

    Confirm that npx can resolve the CLI. The first call may download it.

    npx supabase --version
  4. Install the workspaces

    From the repository root, change into the product folder and install.

    cd my-supabase-app
    npm install
  5. Generate the environment file

    Setup writes .env with owner-only permissions and prints the administrator credential once.

    npm run setup
  6. Start the stack

    Use the cross-platform launcher for development, or the production launcher for a server.

    node scripts/start.mjs

Open and sign in

For development, open http://localhost:5173. For production, open the manager port on 127.0.0.1. The manager API and WebSocket bind to 127.0.0.1 only; expose them through a reverse proxy you control if you need remote access, and treat that as a security decision rather than a convenience.

Where data lives

The manager database uses the platform data directory through env-paths; the documentation gives ~/.local/share/supabase-local-manager/supabase-manager.db as the Linux and macOS form. Logs follow the platform log directory. The database is held in memory and rewritten on mutation, so stop the manager before copying it. Project data stays in Docker volumes, and project backups stay under the project's supabase/backups directory.

If it goes wrong

  • Permission denied on the Docker socket. Add your user to the Docker group or run the daemon as your user; do not run the manager as root to work around it.
  • A port is already in use. The launcher frees PORT and PROXY_PORT; stop whatever holds the front-door or pooler port.
  • The backend refuses to boot. Run npm run setup to generate the required keys.
  • Docker is not running. The interface opens, but no project can start.

Server notes

<code>npm start</code>
Production launcher; serves the built bundle on the manager port.
<code>node scripts/start.mjs --prerequisites-only</code>
Prerequisite check without starting anything.
Log retention
Admin setting that bounds Observability history.
Manager bind address
127.0.0.1; use your own reverse proxy for remote access.