version: "3.9" services: bridge: build: context: . dockerfile: packages/bridge-server/Dockerfile ports: - "8080:8080" environment: - WAP_API_KEY=${WAP_API_KEY:-} - WAP_CORS_ORIGINS=${WAP_CORS_ORIGINS:-*} - WAP_RATE_LIMIT_MAX=${WAP_RATE_LIMIT_MAX:-120} - WAP_REQUEST_TIMEOUT_MS=${WAP_REQUEST_TIMEOUT_MS:-45000} - WAP_JSON_BODY_LIMIT=${WAP_JSON_BODY_LIMIT:-10mb} - WAP_SESSION_STICKY_TTL_MS=${WAP_SESSION_STICKY_TTL_MS:-1800000} - ROTATION_POLICY=${ROTATION_POLICY:-round-robin} healthcheck: test: ["CMD", "wget", "-qO-", "http://localhost:8080/api/health"] interval: 10s timeout: 5s retries: 5 start_period: 10s simulator: build: context: . dockerfile: packages/simulator/Dockerfile environment: - BRIDGE_WS_URL=ws://bridge:8080/ws - SIMULATOR_ID=${SIMULATOR_ID:-sim_docker} - WAP_PROFILES_DIR=/wap-profiles - HEADLESS=true - ENCRYPTION_KEY=${ENCRYPTION_KEY:-} - RUNNER_NAME=${RUNNER_NAME:-Docker Simulator} volumes: - wap-profiles:/wap-profiles depends_on: bridge: condition: service_healthy # Optional: static demo site for testing # demo-site: # image: nginx:alpine # ports: # - "8090:80" # volumes: # - ./examples/demo-site:/usr/share/nginx/html:ro volumes: wap-profiles: