Files
2025-06-08 16:06:40 +00:00

180 lines
3.8 KiB
YAML

services:
mediafusion:
image: mhdzumair/mediafusion:4.3.33
ports:
- "8000:8000"
env_file: .env
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/health"]
interval: 1m
timeout: 10s
retries: 5
start_period: 20m
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
nginx:
image: nginx:alpine
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
- ./mediafusion.local.pem:/etc/ssl/certs/mediafusion.local.pem:ro
- ./mediafusion.local-key.pem:/etc/ssl/private/mediafusion.local-key.pem:ro
ports:
- "443:443"
depends_on:
mediafusion:
condition: service_healthy
restart: unless-stopped
healthcheck:
test: ["CMD", "nginx", "-t"]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
mongodb:
image: mongo:latest
volumes:
- mongo-data:/data/db
ports:
- "27017:27017"
restart: unless-stopped
healthcheck:
test: echo 'db.runCommand("ping").ok' | mongosh localhost:27017/test --quiet
interval: 10s
timeout: 10s
retries: 5
start_period: 40s
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
redis:
image: redis:latest
ports:
- "6379:6379"
volumes:
- redis-data:/data
command: redis-server --appendonly yes --save 60 1
restart: unless-stopped
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 5s
retries: 5
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
dramatiq-worker:
image: mhdzumair/mediafusion:4.3.33
command: ["dramatiq", "api.task", "-p", "1", "-t", "4"]
env_file: .env
depends_on:
mongodb:
condition: service_healthy
redis:
condition: service_healthy
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
prowlarr:
image: ghcr.io/hotio/prowlarr:latest
environment:
- PUID=1000
- PGID=1000
- UMASK=002
- TZ=${TZ:-UTC} # Add timezone support
ports:
- "9696:9696"
volumes:
- prowlarr-config:/config
restart: unless-stopped
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
ports:
- "8191:8191"
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8191/health"]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
browserless:
image: ghcr.io/browserless/chromium
ports:
- "3000:3000"
environment:
- TIMEOUT=-1
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/json/version"]
interval: 30s
timeout: 10s
retries: 3
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
networks:
- mediafusion-network
volumes:
mongo-data:
driver: local
prowlarr-config:
driver: local
redis-data:
driver: local
networks:
mediafusion-network:
driver: bridge