单二进制三角色 + Dock 适配器 + Swarm stack 达到可部署态;mgr1 实测订阅经 central-proxy bootstrap,探活 alive=41/52。 Co-authored-by: Cursor <cursoragent@cursor.com>
86 lines
No EOL
2.9 KiB
YAML
86 lines
No EOL
2.9 KiB
YAML
# 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: {} |