You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
57 lines
1.9 KiB
57 lines
1.9 KiB
# voitrans 业务单镜像部署
|
|
#
|
|
# voitrans-a11: gateway + home + api + mcp + timer 五个集群服务(shell 脚本管理多进程)。
|
|
# 镜像版本通过 TAG 控制;接入外部网络(默认 1panel-network),与 etcd/mysql/redis/nats 通过容器名互通。
|
|
# 不直接 docker compose 调用,统一经 dev-deploy.sh / prod-deploy.sh(它们把 env/<env>.env 落为 .env)。
|
|
|
|
services:
|
|
voitrans-a11:
|
|
image: ${REGISTRY:-docker-registry.ideapsound.com}/voitrans-a11:${TAG:-latest}
|
|
container_name: voitrans-a11
|
|
restart: unless-stopped
|
|
platform: ${PLATFORM:-linux/amd64}
|
|
|
|
networks:
|
|
- appnet
|
|
|
|
# 把整个部署目录挂为 /app(WORKDIR):内含 confs/ log/ 及各服务运行期资源(密钥/词库等,如有)
|
|
volumes:
|
|
- .:/app
|
|
|
|
# 把 .env 整体注入容器,供各 yaml 里 ${VAR} 在启动时展开(compose 默认只做文件内插值,需显式 env_file)
|
|
env_file:
|
|
- .env
|
|
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
|
|
stop_grace_period: 30s
|
|
|
|
# 端口(容器内部,对外经反代/NPM 暴露;如需直接发布改用下方 ports):
|
|
# 7001 gateway RPCX / 7100 gateway HTTP
|
|
# 7002 home RPCX / 7003 timer RPCX
|
|
# 7004 mcp RPCX / 7300 mcp HTTP
|
|
# 7005 api RPCX / 8080 api Console
|
|
expose:
|
|
- "7100"
|
|
- "7300"
|
|
- "8080"
|
|
# 如需宿主机直接访问,取消注释(左=宿主端口,右=容器端口):
|
|
# ports:
|
|
# - "7100:7100" # gateway HTTP
|
|
# - "8080:8080" # api Console
|
|
# - "7300:7300" # mcp HTTP
|
|
|
|
# 健康检查:探测 gateway HTTP 端口
|
|
healthcheck:
|
|
test: ["CMD", "sh", "-c", "nc -z 127.0.0.1 7100 || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
|
|
# 外部共享网络:依赖的 etcd/mysql/redis/nats 在此网络(用容器名连接),目标机需预先存在
|
|
networks:
|
|
appnet:
|
|
name: ${DOCKER_NETWORK:-1panel-network}
|
|
external: true
|
|
|