services: terra-view: build: . ports: - "8001:8001" volumes: - ./data:/app/data environment: - PYTHONUNBUFFERED=1 - ENVIRONMENT=production - SLMM_BASE_URL=http://host.docker.internal:8100 - SFM_BASE_URL=http://sfm:8200 restart: unless-stopped depends_on: - slmm - sfm extra_hosts: - "host.docker.internal:host-gateway" healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8001/health"] interval: 30s timeout: 10s retries: 3 start_period: 40s # --- SLMM (Sound Level Meter Manager) --- slmm: build: context: ../slmm dockerfile: Dockerfile network_mode: host volumes: - ../slmm/data:/app/data environment: - PYTHONUNBUFFERED=1 - PORT=8100 - CORS_ORIGINS=* - TCP_IDLE_TTL=-1 - TCP_MAX_AGE=-1 restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8100/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s # --- SFM (Seismo Fleet Manager) --- sfm: build: context: ../seismo-relay dockerfile: Dockerfile ports: - "8200:8200" volumes: - ../seismo-relay/sfm/data:/app/sfm/data - ../seismo-relay/bridges/captures:/app/bridges/captures environment: - PYTHONUNBUFFERED=1 - PORT=8200 restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8200/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s volumes: data: