# pull:: docker compose -p camofox --env-file ./camofox/env.cfg -f ./camofox/stack.yml pull # run:: docker compose -p camofox --env-file ./camofox/env.cfg -f ./camofox/stack.yml up -d # # disc:: 数据卷使用 docker managed named volume `camofox-data` # (复用旧 docker run 容器同名卷;全新部署可改为 bind mount 到 ${Volumes_Path}) services: camofox: image: ${IMAGE_TAG} container_name: camofox restart: unless-stopped # 只暴露宿主机回环,外部不可达(Hermes 同机访问) ports: - "127.0.0.1:9377:9377" # VNC 可视化调试端口(可选,headless 排障用): # - "127.0.0.1:6080:6080" environment: - TZ=Asia/Shanghai # 容器内必须绑 0.0.0.0,否则 docker 端口映射转发不到(实测坑) - CAMOFOX_HOST=${CAMOFOX_HOST} - CAMOFOX_PORT=${CAMOFOX_PORT} - CAMOFOX_AUTH_MODE=${CAMOFOX_AUTH_MODE} - CAMOFOX_API_KEY=${CAMOFOX_API_KEY} # 代理(PROXY_* 默认空 = 不启用;启用时取消 env.cfg 中注释并配合 CAMOFOX_ALLOW_PRIVATE_NETWORK=true) - PROXY_HOST=${PROXY_HOST:-} - PROXY_PORT=${PROXY_PORT:-} - PROXY_USERNAME=${PROXY_USERNAME:-} - PROXY_PASSWORD=${PROXY_PASSWORD:-} - CAMOFOX_ALLOW_PRIVATE_NETWORK=${CAMOFOX_ALLOW_PRIVATE_NETWORK} # profiles / 引擎数据持久化(docker managed named volume,复用同名旧卷) volumes: - camofox-data:/home/node/.camofox - /etc/timezone:/etc/timezone:ro - /etc/localtime:/etc/localtime:ro # 镜像自带 HEALTHCHECK(docker ps 显示 healthy),此处仅为显式化 healthcheck: test: ["CMD", "curl", "-fsS", "http://localhost:${CAMOFOX_PORT}/health"] interval: 30s timeout: 5s retries: 3 start_period: 15s logging: driver: json-file options: max-size: "20m" max-file: "3" volumes: camofox-data: # 复用已有同名 named volume(容器 camofox 之前 create 的) # 全新部署可删掉 name: 或改为 bind mount 到 ${Volumes_Path}/data name: camofox-data