services: redis: image: redis:7-alpine command: ["redis-server", "--appendonly", "yes", "--bind", "0.0.0.0", "--protected-mode", "no"] ports: - "6379:6379" volumes: - camfinder-redis:/data coordinator: build: . command: ["redis-coordinator"] environment: REDIS_URL: redis://redis:6379/0 RTSP_QUEUE_NAME: camfinder:rtsp:queue RTSP_INPUT_CSV: /app/camfinder-open-rtsp.csv RTSP_WORKER_COUNT: 2 depends_on: - redis volumes: - ./camfinder-open-rtsp.csv:/app/camfinder-open-rtsp.csv:ro - ./dump:/app/dump worker-1: build: . command: ["redis-worker"] environment: REDIS_URL: redis://redis:6379/0 RTSP_QUEUE_NAME: camfinder:rtsp:queue RTSP_SNAPSHOT_DIR: /app/dump/feeds RTSP_SQLITE_PATH: /app/dump/rtsp-results.sqlite RTSP_CAPTURE_TIMEOUT_MS: 15000 depends_on: - redis - coordinator volumes: - ./dump:/app/dump worker-2: build: . command: ["redis-worker"] environment: REDIS_URL: redis://redis:6379/0 RTSP_QUEUE_NAME: camfinder:rtsp:queue RTSP_SNAPSHOT_DIR: /app/dump/feeds RTSP_SQLITE_PATH: /app/dump/rtsp-results.sqlite RTSP_CAPTURE_TIMEOUT_MS: 15000 depends_on: - redis - coordinator volumes: - ./dump:/app/dump volumes: camfinder-redis: