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

# 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