services: # Data indexing service (runs once on startup) indexer: build: . command: python scripts/index_data.py volumes: - ./data:/app/data:rw - ./docs/INDEX_MASTER_JOCURI_ACTIVITATI.md:/app/data/INDEX_MASTER_JOCURI_ACTIVITATI.md:ro environment: - DATABASE_URL=/app/data/activities.db - INDEX_MASTER_FILE=/app/data/INDEX_MASTER_JOCURI_ACTIVITATI.md restart: "no" networks: - app-network # Main web application web: build: . ports: - "5000:5000" volumes: - ./data:/app/data:rw environment: - FLASK_ENV=production - FLASK_HOST=0.0.0.0 - FLASK_PORT=5000 - DATABASE_URL=/app/data/activities.db - SECRET_KEY=${SECRET_KEY:-production-secret-key-change-me} depends_on: - indexer restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5000/health"] interval: 30s timeout: 10s retries: 3 start_period: 60s networks: - app-network networks: app-network: driver: bridge volumes: app-data: driver: local