tracker/docker-compose.yml
Markov 04be227740 feat: tracker MVP — FastAPI, models, REST API, WebSocket, Docker
- Models: projects, tasks, agents, adapters, labels, chats
- REST API: CRUD for all entities
- WebSocket: connection manager, heartbeat
- Alembic: async migrations, initial schema
- Docker Compose: tracker + postgres + redis (dev)
- All config via TRACKER_* env vars
2026-02-15 18:42:45 +01:00

45 lines
1.0 KiB
YAML

services:
tracker:
build: .
ports:
- "8100:8100"
env_file:
- .env.dev
depends_on:
postgres:
condition: service_healthy
redis:
condition: service_started
volumes:
- ./src:/app/src # hot reload in dev
command: >
sh -c "alembic upgrade head &&
uvicorn tracker.app:app --host 0.0.0.0 --port 8100 --reload --reload-dir /app/src"
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: team_board
POSTGRES_PASSWORD: team_board
POSTGRES_DB: team_board_dev
ports:
- "5433:5432" # 5433 on host to avoid conflict with system postgres
volumes:
- pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U team_board -d team_board_dev"]
interval: 5s
timeout: 3s
retries: 5
redis:
image: redis:7-alpine
ports:
- "6380:6379" # 6380 on host to avoid conflict
volumes:
- redisdata:/data
volumes:
pgdata:
redisdata: