Runs the full stack locally with Docker Compose. Use when starting local development, running docker compose, debugging containers, or testing the full application locally.
Exact commands for running the full application stack locally using Docker Compose.
Configure environment:
cp .env.example .env
# Default .env works for local dev (STORAGE_MODE=inmemory, OTEL_EXPORTER=console)
Build and start all services:
docker compose up --build
This starts:
http://localhost:8001http://localhost:5173 (React via nginx)Verify health:
# Backend health (waits for container healthcheck to pass)
curl http://localhost:8001/healthz
# Expected: {"status": "ok"}
# Frontend loads
open http://localhost:5173
View logs:
# All services
docker compose logs -f
# Backend only
docker compose logs -f backend
# Frontend only
docker compose logs -f frontend
Rebuild after changes:
# Rebuild specific service
docker compose up --build backend
# Full rebuild
docker compose down && docker compose up --build
Stop:
docker compose down
Backend (direct):
cd py/apps/app-template
uv pip install -e .[dev]
uv run uvicorn main:app --reload --port 8001
Frontend (direct):
cd ts
pnpm install
pnpm --filter ui-copilot-template dev
API_PORT in .env or update docker-compose.yml port mapping..env is present and has required vars.CORS_ORIGINS includes frontend URL. Check nginx proxy config.docker compose logs backend..env file exists (copied from .env.example)docker compose up --build succeeds