version: '3.8' services: ske-signage: build: . image: ske-signage:2.0.0 container_name: ske-signage-server restart: unless-stopped ports: - "8880:5000" environment: # Flask Configuration - FLASK_CONFIG=production - SECRET_KEY=${SECRET_KEY:-ske-signage-production-secret-change-me} # Database Configuration - DATABASE_URL=sqlite:///./instance/ske_signage.db # Admin User Configuration - ADMIN_USER=${ADMIN_USER:-admin} - ADMIN_PASSWORD=${ADMIN_PASSWORD:-ChangeMe123!} # Server Configuration - HOST=0.0.0.0 - PORT=5000 - FLASK_DEBUG=false # Logging - LOG_LEVEL=INFO volumes: # Persistent data storage - ske_signage_data:/app/instance - ske_signage_uploads:/app/static/uploads - ske_signage_assets:/app/static/assets - ske_signage_logs:/app/logs networks: - ske_signage_network healthcheck: test: ["CMD", "curl", "-f", "http://localhost:5000/api/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s volumes: ske_signage_data: driver: local ske_signage_uploads: driver: local ske_signage_assets: driver: local ske_signage_logs: driver: local networks: ske_signage_network: driver: bridge