version: '3.8' services: sentiment-analyzer: build: . ports: - "7860:7860" environment: - PYTHONPATH=/app - GRADIO_SERVER_NAME=0.0.0.0 - GRADIO_SERVER_PORT=7860 volumes: - ./data:/app/data - ./logs:/app/logs restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:7860"] interval: 30s timeout: 10s retries: 3 start_period: 40s deploy: resources: limits: cpus: '2.0' memory: 4G reservations: cpus: '1.0' memory: 2G # Optional: Add Redis for caching (uncomment if needed) # redis: # image: redis:7-alpine # ports: # - "6379:6379" # command: redis-server --appendonly yes # volumes: # - redis_data:/data # restart: unless-stopped # volumes: # redis_data: