2026-05-19 19:23:28 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# XuqmGroup 私有化部署 — 主入口配置
|
|
|
|
|
|
#
|
|
|
|
|
|
# 使用方法:
|
|
|
|
|
|
# cp .env.example .env
|
|
|
|
|
|
# 按注释填写各项,然后执行 ./scripts/deploy-szyx.sh 或 ./scripts/install.sh
|
|
|
|
|
|
#
|
|
|
|
|
|
# 说明:
|
|
|
|
|
|
# - 所有密码/密钥请写入 config/secrets.env(不要写在本文件)
|
|
|
|
|
|
# - 域名留空或填 IP 时,服务通过 http://<IP> 访问,适合局域网/内网场景
|
|
|
|
|
|
# - COMPOSE_PROFILES 与 ENABLE_* 保持一致
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
# 当前部署版本号,格式:YYYY.MM.DD-private.N
|
|
|
|
|
|
# 用于镜像标签匹配和审计追溯
|
2026-05-18 19:49:31 +08:00
|
|
|
|
PRIVATE_VERSION=2026.05.18-private.1
|
2026-05-19 19:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# 镜像仓库
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
|
|
|
|
|
|
# 私有 Docker 镜像仓库(不含协议前缀),例如:
|
|
|
|
|
|
# crpi-xxxx.cn-beijing.personal.cr.aliyuncs.com/xuqmgroup
|
2026-05-18 19:49:31 +08:00
|
|
|
|
REGISTRY=registry.example.com/xuqm
|
|
|
|
|
|
|
2026-05-19 19:23:28 +08:00
|
|
|
|
# 仓库登录用户名(install.sh 会自动读取并执行 docker login)
|
|
|
|
|
|
REGISTRY_USER=
|
2026-05-18 19:49:31 +08:00
|
|
|
|
|
2026-05-19 19:23:28 +08:00
|
|
|
|
# 镜像版本标签,与业务发布版本一一对应
|
|
|
|
|
|
# 开发/体验环境可用 latest;生产环境请固定版本号
|
|
|
|
|
|
IMAGE_TAG=latest
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# 服务 Profile — 选择要启动哪些容器
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
#
|
|
|
|
|
|
# 可选值(用逗号分隔):
|
|
|
|
|
|
# base 必选,包含:tenant-service / file-service / tenant-web /
|
|
|
|
|
|
# ops-web / docs-site / nginx
|
|
|
|
|
|
# infra-mysql 托管 MySQL 容器(MYSQL_MODE=managed 时必选)
|
|
|
|
|
|
# infra-redis 托管 Redis 容器(REDIS_MODE=managed 时必选)
|
|
|
|
|
|
# im IM HTTP 和 WebSocket 服务
|
|
|
|
|
|
# push 厂商推送通知服务
|
|
|
|
|
|
# update 版本管理、RN 热更新、应用市场自动发布
|
|
|
|
|
|
# license License 校验服务
|
|
|
|
|
|
#
|
|
|
|
|
|
# 完整部署示例(MySQL/Redis 托管):
|
|
|
|
|
|
# COMPOSE_PROFILES=base,infra-mysql,infra-redis,im,push,update,license
|
|
|
|
|
|
# 生产示例(外部 MySQL/Redis):
|
|
|
|
|
|
# COMPOSE_PROFILES=base,im,push,update,license
|
|
|
|
|
|
#
|
|
|
|
|
|
COMPOSE_PROFILES=base,infra-mysql,infra-redis,im,push,update,license
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# 功能开关(与 COMPOSE_PROFILES 保持对应)
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# 这些开关控制 tenant-service 向 SDK 返回的能力列表
|
|
|
|
|
|
# 未部署的服务设为 false,SDK 会禁用相关功能并不发起对应请求
|
2026-05-18 19:49:31 +08:00
|
|
|
|
ENABLE_FILE=true
|
2026-05-19 19:23:28 +08:00
|
|
|
|
ENABLE_IM=true
|
|
|
|
|
|
ENABLE_PUSH=true
|
|
|
|
|
|
ENABLE_UPDATE=true
|
|
|
|
|
|
ENABLE_LICENSE=true
|
|
|
|
|
|
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# MySQL 配置
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
#
|
|
|
|
|
|
# MYSQL_MODE 可选值:
|
|
|
|
|
|
# external 客户自备 MySQL,脚本仅校验连通性,不启动容器
|
|
|
|
|
|
# managed 脚本通过 Docker Compose 启动 MySQL 8.4 容器
|
|
|
|
|
|
#
|
|
|
|
|
|
# 生产环境推荐使用 external 模式,由 DBA 管理数据库
|
|
|
|
|
|
# 体验/开发环境可使用 managed 模式快速启动
|
|
|
|
|
|
#
|
|
|
|
|
|
MYSQL_MODE=managed
|
2026-05-18 19:49:31 +08:00
|
|
|
|
|
2026-05-19 19:23:28 +08:00
|
|
|
|
# 数据库主机(managed 模式填写 Docker 服务名 "mysql";external 填真实 IP/域名)
|
|
|
|
|
|
MYSQL_HOST=mysql
|
2026-05-18 19:49:31 +08:00
|
|
|
|
MYSQL_PORT=3306
|
2026-05-19 19:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
# 数据库名,首次部署自动创建(managed 模式)
|
2026-05-18 19:49:31 +08:00
|
|
|
|
MYSQL_DATABASE=xuqm_private
|
2026-05-19 19:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
# 数据库用户名(managed 模式自动创建此账号)
|
2026-05-18 19:49:31 +08:00
|
|
|
|
MYSQL_USERNAME=xuqm
|
2026-05-19 19:23:28 +08:00
|
|
|
|
|
|
|
|
|
|
# 密码请填写在 config/secrets.env 中的 MYSQL_PASSWORD / MYSQL_ROOT_PASSWORD
|
|
|
|
|
|
# 托管模式下若为空或 change-me,install.sh 会自动生成随机密码
|
|
|
|
|
|
|
|
|
|
|
|
# 数据目录(managed 模式,挂载到宿主机,重启后数据保留)
|
2026-05-18 19:49:31 +08:00
|
|
|
|
MYSQL_DATA_DIR=./data/mysql
|
|
|
|
|
|
|
2026-05-19 19:23:28 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# Redis 配置
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
#
|
|
|
|
|
|
# REDIS_MODE 可选值:
|
|
|
|
|
|
# external 客户自备 Redis
|
|
|
|
|
|
# managed 脚本通过 Docker Compose 启动 Redis 7 容器
|
|
|
|
|
|
#
|
|
|
|
|
|
REDIS_MODE=managed
|
|
|
|
|
|
REDIS_HOST=redis
|
2026-05-18 19:49:31 +08:00
|
|
|
|
REDIS_PORT=6379
|
|
|
|
|
|
REDIS_DATABASE=0
|
|
|
|
|
|
REDIS_DATA_DIR=./data/redis
|
|
|
|
|
|
|
2026-05-19 19:23:28 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# 域名 / 访问地址配置
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
#
|
|
|
|
|
|
# 如果没有域名,直接填写部署机器 IP(含协议),例如:
|
|
|
|
|
|
# CONSOLE_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# OPS_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
#
|
|
|
|
|
|
# 如果使用域名,填写完整 URL,例如:
|
|
|
|
|
|
# CONSOLE_DOMAIN=https://console.company.com
|
|
|
|
|
|
#
|
|
|
|
|
|
# 注意:所有 URL 不要以斜杠结尾
|
|
|
|
|
|
#
|
|
|
|
|
|
# 控制台(租户登录界面)
|
|
|
|
|
|
CONSOLE_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# 运营后台(管理员界面)
|
|
|
|
|
|
OPS_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# 文档站
|
|
|
|
|
|
DOCS_DOMAIN=http://192.168.1.100/docs
|
|
|
|
|
|
# 文件服务(上传/下载)
|
|
|
|
|
|
FILE_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# IM 服务(未部署时留空)
|
|
|
|
|
|
IM_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# 版本管理服务(未部署时留空)
|
|
|
|
|
|
UPDATE_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# License 服务(未部署时留空)
|
|
|
|
|
|
LICENSE_DOMAIN=http://192.168.1.100
|
|
|
|
|
|
# 推送服务(未部署时留空)
|
|
|
|
|
|
PUSH_DOMAIN=http://192.168.1.100
|
2026-05-18 19:49:31 +08:00
|
|
|
|
|
2026-05-19 19:23:28 +08:00
|
|
|
|
# =============================================================================
|
|
|
|
|
|
# Bootstrap 初始租户(仅首次部署生效,幂等)
|
|
|
|
|
|
# =============================================================================
|
|
|
|
|
|
#
|
|
|
|
|
|
# 私有化部署为单租户模式,首次启动时自动创建此租户和默认 App。
|
|
|
|
|
|
# 如果通过 migrate-tenant.sh 迁移现有租户,原 bootstrap 租户数据会被替换。
|
|
|
|
|
|
#
|
|
|
|
|
|
TENANT_BOOTSTRAP_EMAIL=admin@company.com
|
|
|
|
|
|
# 密码请填写在 config/secrets.env 中的 TENANT_BOOTSTRAP_PASSWORD
|
|
|
|
|
|
TENANT_BOOTSTRAP_APP_KEY=ak_private_default
|