services: postgres: image: postgres:16-alpine environment: POSTGRES_DB: camfinder POSTGRES_USER: camfinder POSTGRES_PASSWORD: camfinder volumes: - camfinder-postgres:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U camfinder -d camfinder"] interval: 5s timeout: 5s retries: 10 start_period: 5s coordinator: build: . command: ["coordinator"] environment: DATABASE_URL: postgres://camfinder:camfinder@postgres:5432/camfinder SCAN_CIDR_FILE: /app/cidrs.txt SCAN_PORT: 554 SCAN_TIMEOUT_MS: 1200 SCAN_CONCURRENCY: 16 SCAN_CHUNK_SIZE: 64 COORDINATOR_BIND: 0.0.0.0:666 depends_on: postgres: condition: service_healthy ports: - "666:666" worker-1: build: . command: ["worker", "--connect", "coordinator:666", "--name", "worker-1"] environment: SCAN_PORT: 554 SCAN_TIMEOUT_MS: 1200 SCAN_CONCURRENCY: 16 depends_on: coordinator: condition: service_started worker-2: build: . command: ["worker", "--connect", "coordinator:666", "--name", "worker-2"] environment: SCAN_PORT: 554 SCAN_TIMEOUT_MS: 1200 SCAN_CONCURRENCY: 16 depends_on: coordinator: condition: service_started volumes: camfinder-postgres: