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
Check Node and npm
Install Node 18 or later with your distribution package, NodeSource or a version manager, then confirm.
node --version npm --versionStart Docker
Start the Docker daemon and confirm the current user can reach it.
docker infoCheck the Supabase CLI
Confirm that npx can resolve the CLI. The first call may download it.
npx supabase --versionInstall the workspaces
From the repository root, change into the product folder and install.
cd my-supabase-app npm installGenerate the environment file
Setup writes .env with owner-only permissions and prints the administrator credential once.
npm run setupStart 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
PORTandPROXY_PORT; stop whatever holds the front-door or pooler port. - The backend refuses to boot. Run
npm run setupto generate the required keys. - Docker is not running. The interface opens, but no project can start.