services: tracker: build: . ports: - "8100:8100" env_file: - .env.dev depends_on: postgres: condition: service_healthy volumes: - ./src:/app/src - ./data/uploads:/data/uploads - ./data/projects:/data/projects - ./data/projects:/data/projects command: uvicorn tracker.app:app --host 0.0.0.0 --port 8100 --reload --reload-dir /app/src restart: unless-stopped postgres: image: postgres:16-alpine environment: POSTGRES_USER: team_board POSTGRES_PASSWORD: team_board POSTGRES_DB: team_board_dev ports: - "5433:5432" volumes: - ./data/postgres:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U team_board -d team_board_dev"] interval: 5s timeout: 3s retries: 5 restart: unless-stopped