# stacks/compose-smoke.yml — 本机冒烟 compose(不起 swarm;Contract §5-A6.4)。 # # 拓扑:stub 引擎(python:3.12-slim,searxng/trafilatura 形状二合一) # + browser-server 三角色(本机 arm64 构建镜像 onesvm/browser-server:smoke)。 # 密钥为 smoke 专用假值(非真实凭据;不入 git 的敏感面——冒烟值无真实性)。 # 用法:bash scripts/smoke-local.sh(含 build/up/断言/down 全流程)。 services: stub-engines: image: python:3.12-slim container_name: bs-smoke-stub volumes: - ./smoke/stub_engines.py:/stub_engines.py:ro command: ["python", "-u", "/stub_engines.py"] networks: - bs-smoke-net gateway: image: onesvm/browser-server:smoke container_name: bs-smoke-gateway command: ["-role=gateway"] environment: BROWSER_SERVER_KEYS_SEED: "smoke-seed-not-a-real-secret" BROWSER_SERVER_ADMIN_TOKEN: "bs_smoke_admin_token_0123456789abcdef" BROWSER_SERVER_LISTEN_gateway: ":8640" BROWSER_SERVER_SCHEDULER_URL: http://scheduler:8641 BROWSER_SERVER_DB_PATH: /data/browser-server.db TZ: Asia/Shanghai volumes: - bs-smoke-data:/data ports: - "18640:8640" # 本机冒烟入口(对齐 W2 回执 :18640 惯例) depends_on: - scheduler - stub-engines networks: - bs-smoke-net scheduler: image: onesvm/browser-server:smoke container_name: bs-smoke-scheduler command: ["-role=scheduler"] environment: BROWSER_SERVER_LISTEN_scheduler: ":8641" BROWSER_SERVER_DB_PATH: /data/browser-server.db BROWSER_SERVER_SEARXNG_CN_URL: http://stub-engines:80 BROWSER_SERVER_SEARXNG_GLOBAL_URL: http://stub-engines:80 BROWSER_SERVER_TRAFILATURA_URL: http://stub-engines:80 BROWSER_SERVER_LIGHTPANDA_CDP_HOST: stub-engines:9222 BROWSER_SERVER_SHELL_CDP_HOST: stub-engines:9222 BROWSER_SERVER_PROXYMANAGER_URL: http://proxymanager:8642 BROWSER_SERVER_WORKERS: "4" TZ: Asia/Shanghai volumes: - bs-smoke-data:/data ports: - "18641:8641" # 冒烟断言 /pressure 用 depends_on: - stub-engines networks: - bs-smoke-net proxymanager: image: onesvm/browser-server:smoke container_name: bs-smoke-proxymanager command: ["-role=proxymanager"] environment: BROWSER_SERVER_LISTEN_proxymanager: ":8642" PROXY_SUB_URLS: "http://stub-engines.invalid/sub.yaml" # 假订阅 URL(冒烟纪律:订阅类 env 用假 URL) MIHOMO_CONTROLLER_URL: http://127.0.0.1:19990 # 无 mihomo 容器 → 探活 fail-closed 路径 BROWSER_SERVER_MIHOMO_CONFIG_DIR: /data/mihomo BROWSER_SERVER_DB_PATH: /data/browser-server.db TZ: Asia/Shanghai volumes: - bs-smoke-data:/data depends_on: - gateway networks: - bs-smoke-net networks: bs-smoke-net: driver: bridge volumes: bs-smoke-data: {}