2026-02-11 12:59:37 +00:00
|
|
|
|
# Quickstart (Docker Compose)
|
2026-02-11 06:15:54 +00:00
|
|
|
|
|
2026-02-11 12:59:37 +00:00
|
|
|
|
This is the fastest way to run Mission Control locally or on a single host.
|
2026-02-11 06:15:54 +00:00
|
|
|
|
|
2026-02-11 12:59:37 +00:00
|
|
|
|
## What you get
|
2026-02-11 06:15:54 +00:00
|
|
|
|
|
2026-02-11 12:59:37 +00:00
|
|
|
|
From `compose.yml` you get three services:
|
|
|
|
|
|
|
|
|
|
|
|
- Postgres (`db`)
|
|
|
|
|
|
- FastAPI backend (`backend`) on `http://localhost:8000`
|
|
|
|
|
|
- Next.js frontend (`frontend`) on `http://localhost:3000`
|
|
|
|
|
|
|
|
|
|
|
|
## Prerequisites
|
|
|
|
|
|
|
|
|
|
|
|
- Docker + Docker Compose v2 (`docker compose`)
|
|
|
|
|
|
|
|
|
|
|
|
## Run
|
|
|
|
|
|
|
|
|
|
|
|
From repo root:
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
cp .env.example .env
|
|
|
|
|
|
|
|
|
|
|
|
docker compose -f compose.yml --env-file .env up -d --build
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
Open:
|
|
|
|
|
|
- UI: http://localhost:3000
|
|
|
|
|
|
- Backend health: http://localhost:8000/healthz
|
|
|
|
|
|
|
|
|
|
|
|
## Verify
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
curl -f http://localhost:8000/healthz
|
|
|
|
|
|
curl -I http://localhost:3000/
|
|
|
|
|
|
```
|
2026-02-11 06:15:54 +00:00
|
|
|
|
|
|
|
|
|
|
## Common gotchas
|
2026-02-11 12:59:37 +00:00
|
|
|
|
|
|
|
|
|
|
- `NEXT_PUBLIC_API_URL` must be reachable from your **browser**.
|
|
|
|
|
|
- If it’s missing/blank/wrong, the UI may load but API calls will fail (e.g. Activity feed blank).
|
|
|
|
|
|
- If you are running locally without Clerk:
|
|
|
|
|
|
- keep `NEXT_PUBLIC_CLERK_PUBLISHABLE_KEY` unset/blank so Clerk stays gated off in the frontend.
|
|
|
|
|
|
|
|
|
|
|
|
## Useful commands
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# tail logs
|
|
|
|
|
|
docker compose -f compose.yml --env-file .env logs -f --tail=200
|
|
|
|
|
|
|
|
|
|
|
|
# stop (keeps data)
|
|
|
|
|
|
docker compose -f compose.yml --env-file .env down
|
|
|
|
|
|
|
|
|
|
|
|
# reset data (DESTRUCTIVE)
|
|
|
|
|
|
docker compose -f compose.yml --env-file .env down -v
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## Next
|
|
|
|
|
|
|
|
|
|
|
|
- Want a faster contributor loop? See [Development](03-development.md) (DB via Compose, backend+frontend in dev mode).
|
|
|
|
|
|
- Need to change env vars/migrations/CORS? See [Configuration](06-configuration.md).
|