# Local runbook

- Start: `docker compose up --build -d`
- Logs: `docker compose logs -f api dashboard`
- Bot: `docker compose --profile bot up --build -d bot` after configuring `TELEGRAM_BOT_TOKEN`.
- Health: `curl http://localhost:8000/health/live` and `/health/ready`.
- API docs in non-production mode: `http://localhost:8000/docs`.
- Stop: `docker compose down`; persistent data remains in named volumes.
- Full reset (destructive): `docker compose down -v`.

If the API starts before PostgreSQL is ready, Compose health dependencies should delay startup. Check `DATABASE_URL`, `POSTGRES_PASSWORD`, and the Postgres container logs first.
