version: '3.8' services: redis: image: "redis:alpine" ports: - "6379:6379" volumes: - redis_data:/data web: build: . ports: - "12000:12000" volumes: - .:/app - ./uploads:/app/uploads env_file: - .env depends_on: - redis # The following 'deploy' key enables GPU access for the service. # This requires nvidia-container-toolkit to be installed on the host. # Docker Compose will automatically use this if available. deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] command: gunicorn --bind 0.0.0.0:12000 --workers 4 app:app worker: build: . volumes: - .:/app - ./uploads:/app/uploads - ./demucs_separated:/app/demucs_separated env_file: - .env depends_on: - redis deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] # For Windows, you might need to use -P gevent command: celery -A tasks.celery worker --loglevel=info --pool=solo volumes: redis_data: