# Production docker-compose using GitHub Container Registry
# Usage: docker-compose -f docker-compose.prod.yml up -d
services:
scraper-mcp:
image: ghcr.io/cotdp/scraper-mcp:latest
container_name: scraper-mcp
ports:
- "8000:8000"
env_file:
- .env
environment:
# Playwright configuration
- PLAYWRIGHT_MAX_CONTEXTS=5
- PLAYWRIGHT_TIMEOUT=30000
- PLAYWRIGHT_DISABLE_GPU=true
volumes:
# Persistent cache volume
- cache_data:/app/cache
restart: unless-stopped
deploy:
resources:
limits:
memory: 1536M # 1.5GB for JS rendering support
reservations:
memory: 512M
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/healthz"]
interval: 30s
timeout: 10s
retries: 3
start_period: 15s
networks:
- mcp-network
volumes:
cache_data:
driver: local
networks:
mcp-network:
driver: bridge