version: '3.8' services: competition: build: . container_name: cmpe343-competition ports: - "7860:7860" volumes: - ./state:/app/state - ./anonymized_teams:/app/anonymized_teams - ./models.yaml:/app/models.yaml - ./tracks.csv:/app/tracks.csv environment: - GRADIO_SERVER_NAME=0.0.0.0 - GRADIO_SERVER_PORT=7860 restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:7860/"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Optional: Add a monitoring service monitor: image: prom/prometheus:latest container_name: competition-monitor ports: - "9090:9090" volumes: - ./monitoring/prometheus.yml:/etc/prometheus/prometheus.yml command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' profiles: - monitoring