services: api: image: mybitlab/wfm:be-staging env_file: - .env environment: HTTP_PORT: "8080" APP_ENV: staging CONFIG_BASE_PATH: /opt/flight-manager/staging volumes: - /opt/flight-manager/staging/config.generated.json:/opt/flight-manager/staging/config.generated.json:ro - ./configs:/app/configs:ro ports: - 8087:8080 restart: unless-stopped networks: - fm-staging - db_net extra_hosts: - host.docker.internal:host-gateway security_opt: - no-new-privileges:true cap_drop: - ALL healthcheck: test: - CMD - /app/healthcheck - http://127.0.0.1:8080/health interval: 30s timeout: 3s start_period: 20s retries: 3 labels: - "logging=enabled" worker: image: mybitlab/wfm:be-worker-staging env_file: - .env environment: QUEUE_WORKER_MONITOR_ADDR: 0.0.0.0:9090 WORKER_JOB: email APP_ENV: staging CONFIG_BASE_PATH: /opt/flight-manager/staging volumes: - /opt/flight-manager/staging/config.generated.json:/opt/flight-manager/staging/config.generated.json:ro expose: - 9090 restart: unless-stopped networks: - fm-staging - db_net extra_hosts: - host.docker.internal:host-gateway security_opt: - no-new-privileges:true cap_drop: - ALL healthcheck: test: - CMD - /app/healthcheck - http://127.0.0.1:9090/health interval: 30s timeout: 3s start_period: 20s retries: 3 labels: - "logging=enabled" file-worker: image: mybitlab/wfm:be-staging-file-worker env_file: - .env environment: QUEUE_WORKER_MONITOR_ADDR: 0.0.0.0:9091 WORKER_JOB: file_processing APP_ENV: staging CONFIG_BASE_PATH: /opt/flight-manager/staging volumes: - /opt/flight-manager/staging/config.generated.json:/opt/flight-manager/staging/config.generated.json:ro expose: - 9091 restart: unless-stopped networks: - fm-staging - db_net extra_hosts: - host.docker.internal:host-gateway security_opt: - no-new-privileges:true cap_drop: - ALL healthcheck: test: - CMD - /app/healthcheck - http://127.0.0.1:9091/health interval: 30s timeout: 3s start_period: 20s retries: 3 labels: - "logging=enabled" networks: fm-staging: external: true db_net: external: true