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.
63 lines
2.1 KiB
63 lines
2.1 KiB
# yunyan-sas 多环境部署 compose(变量驱动)
|
|
#
|
|
# 不直接用 docker compose 调用,统一通过 deploy.sh:
|
|
# ./deploy.sh local up # 本机
|
|
# ./deploy.sh dev deploy # 部署到开发服务器
|
|
# ./deploy.sh prod deploy # 部署到生产服务器
|
|
#
|
|
# deploy.sh 会把 env/<环境>.env 落为同目录 .env,compose 同时用它做
|
|
# ① 变量替换:REGISTRY / TAG / PLATFORM / DOCKER_NETWORK / ADMIN_PORT
|
|
# ② 容器环境注入:env_file 指向同一个 .env(POSTGRES_DSN / REDIS_* / NATS_URL / CONSOLE_* 等)
|
|
|
|
services:
|
|
# ── console 后台控制面服务 ──────────────────────────────────
|
|
yunyan-console:
|
|
image: ${REGISTRY:-docker-registry.ideapsound.com}/yunyan-console:${TAG:-latest}
|
|
container_name: yunyan-console
|
|
restart: unless-stopped
|
|
platform: ${PLATFORM:-linux/amd64}
|
|
|
|
networks:
|
|
- appnet
|
|
|
|
# deploy 目录下 console/ 挂为 /app(WORKDIR),含 confs/ log/
|
|
volumes:
|
|
- ./console:/app
|
|
|
|
env_file:
|
|
- .env
|
|
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
|
|
expose:
|
|
- "8080"
|
|
|
|
# ── admin 管理前端 ─────────────────────────────────────────
|
|
yunyan-admin:
|
|
image: ${REGISTRY:-docker-registry.ideapsound.com}/yunyan-admin:${TAG:-latest}
|
|
container_name: yunyan-admin
|
|
restart: unless-stopped
|
|
platform: ${PLATFORM:-linux/amd64}
|
|
|
|
networks:
|
|
- appnet
|
|
|
|
environment:
|
|
TZ: Asia/Shanghai
|
|
# server middleware 运行时代理目标(同网络容器名直接解析)
|
|
CONSOLE_BACKEND: http://yunyan-console:8080
|
|
|
|
ports:
|
|
- "${ADMIN_PORT:-3000}:3000"
|
|
|
|
depends_on:
|
|
- yunyan-console
|
|
|
|
# 外部网络:各环境用各自的网络名(local 用 1panel-network;dev/prod 在 .env 里配 DOCKER_NETWORK)。
|
|
# 该网络需在目标机预先存在(docker network create <name>),且 redis/nats 可达
|
|
# (同网络容器名,或在 .env 里用 REDIS_ADDR/NATS_URL 填外部地址)。
|
|
networks:
|
|
appnet:
|
|
name: ${DOCKER_NETWORK:-1panel-network}
|
|
external: true
|
|
|