services: orchestrator: build: context: . dockerfile: Dockerfile environment: - REDIS_URL=redis://redis:6379 - PYTHONUNBUFFERED=1 depends_on: - redis volumes: - .:/app command: tail -f /dev/null redis: image: redis:alpine ports: - "6379:6379" volumes: - redis_data:/data deploy: resources: limits: memory: 4G camoufox-pool: build: context: . dockerfile: src/browser/Dockerfile environment: - REDIS_URL=redis://redis:6379 - PYTHONUNBUFFERED=1 # - BROWSERFORGE_SEED=... depends_on: - redis volumes: - .:/app - /dev/shm:/dev/shm deploy: replicas: 5 resources: limits: cpus: '2' memory: 2G command: tail -f /dev/null curl-pool: build: context: . dockerfile: src/extractor/Dockerfile environment: - REDIS_URL=redis://redis:6379 - PYTHONUNBUFFERED=1 depends_on: - redis volumes: - .:/app deploy: replicas: 20 resources: limits: cpus: '0.5' memory: 512M command: tail -f /dev/null prometheus: image: prom/prometheus:latest ports: - "9090:9090" volumes: - ./infra/prometheus.yml:/etc/prometheus/prometheus.yml - prometheus_data:/prometheus grafana: image: grafana/grafana:latest ports: - "3000:3000" depends_on: - prometheus volumes: - grafana_data:/var/lib/grafana - ./infra/grafana/provisioning/dashboards:/etc/grafana/provisioning/dashboards - ./infra/grafana/dashboards:/var/lib/grafana/dashboards volumes: redis_data: prometheus_data: grafana_data: