Browse documentation

Just trying it out?

One project, on your machine, with nothing installed but Docker:

npx @motherbase/cli init my-backend
cd my-backend
npx @motherbase/cli start

init writes a docker-compose.yml and a .env with secrets generated for this install, then prints the Studio URL and the first operator's credentials. start brings the stack up. The first run builds the images from the repository, so give it a few minutes; every run after that is cached.

That gets you a single project. The rest of this page installs the multi-project Platform Console, which is what Motherbase is actually for.

Note

init never overwrites an existing .env without --force: that file holds the only copy of the key your existing data was encrypted with.

Full install

Two steps:

  1. Install the Platform Console.
  2. Create a first project from the Console.

The setup script does not create a project stack automatically. It starts the Console and the routing layer; project auth, storage, SMTP, social providers, and Studio settings are configured after you create a project.

1. Clone the repository

git clone https://github.com/JulienGuinot/Boilerplate-backend.git
cd Boilerplate-backend

2. Install the Platform Console

chmod +x setup.sh
./setup.sh

The script asks for local or VPS mode, writes environment files, creates secrets, starts Traefik and the Platform Console, and prints Console access details.

Note

Credentials printed by setup.sh are Platform Console credentials. Project API users are managed per project after the project exists.

Local mode

Pick L. The Console is available at:

http://localhost:5500/console

Projects you create locally are reachable at:

http://<name>.localhost

VPS mode

Pick V, or run:

DOMAIN=example.com ACME_EMAIL=you@example.com ./setup.sh --yes --prod

Configure one wildcard DNS record before creating projects:

Type: A
Name: *
Value: <VPS_IP>

The Console is reachable at https://console.example.com, and future projects route as https://<name>.example.com.

3. Create your first project

Open the Platform Console and choose New project. The wizard asks mainly for:

FieldExample
nametodo
domaintodo.localhost or todo.example.com
storageDomaintodo-storage.localhost or todo-storage.example.com
corsOriginshttp://localhost:3000

After the project starts, open its Project Studio from the Console. Configure project-specific auth providers, SMTP, storage, RLS policies, and SDK connection values there.

4. Connect your app

Pick your stack in Framework Quickstarts: Next.js, React, Vue, Nuxt, SvelteKit, Expo/React Native, or plain Node. For a Next.js or React app with authentication screens already wired, use create-motherbase-app.

Non-interactive install

# Local with defaults
./setup.sh --yes
 
# VPS with defaults
DOMAIN=example.com ACME_EMAIL=you@example.com ./setup.sh --yes --prod