version: '3.8' services: api: build: context: ./backend dockerfile: Dockerfile container_name: sprint-manager-api ports: - "8000:8000" volumes: - ./data:/app/data environment: - DATABASE_URL=sqlite:///./data/tasks.db - UPLOAD_DIR=/app/data/uploads restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8000/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s web: build: context: ./frontend dockerfile: Dockerfile container_name: sprint-manager-web ports: - "3000:80" depends_on: - api restart: unless-stopped volumes: data: driver: local