forked from DevOps/deploy.stack
57 lines
2.1 KiB
YAML
57 lines
2.1 KiB
YAML
# 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
|