# ============================================================================= # XuqmGroup 私有化部署 — 主入口配置 # # 使用方法: # cp .env.example .env # 按注释填写各项,然后执行 ./scripts/deploy-szyx.sh 或 ./scripts/install.sh # # 说明: # - 所有密码/密钥请写入 config/secrets.env(不要写在本文件) # - 域名留空或填 IP 时,服务通过 http:// 访问,适合局域网/内网场景 # - COMPOSE_PROFILES 与 ENABLE_* 保持一致 # ============================================================================= # 当前部署版本号,格式:YYYY.MM.DD-private.N # 用于镜像标签匹配和审计追溯 PRIVATE_VERSION=2026.05.18-private.1 # ============================================================================= # 镜像仓库 # ============================================================================= # 私有 Docker 镜像仓库(不含协议前缀),例如: # crpi-xxxx.cn-beijing.personal.cr.aliyuncs.com/xuqmgroup REGISTRY=registry.example.com/xuqm # 仓库登录用户名(install.sh 会自动读取并执行 docker login) REGISTRY_USER= # 镜像版本标签,与业务发布版本一一对应 # 开发/体验环境可用 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 会禁用相关功能并不发起对应请求 ENABLE_FILE=true 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 # 数据库主机(managed 模式填写 Docker 服务名 "mysql";external 填真实 IP/域名) MYSQL_HOST=mysql MYSQL_PORT=3306 # 数据库名,首次部署自动创建(managed 模式) MYSQL_DATABASE=xuqm_private # 数据库用户名(managed 模式自动创建此账号) MYSQL_USERNAME=xuqm # 密码请填写在 config/secrets.env 中的 MYSQL_PASSWORD / MYSQL_ROOT_PASSWORD # 托管模式下若为空或 change-me,install.sh 会自动生成随机密码 # 数据目录(managed 模式,挂载到宿主机,重启后数据保留) MYSQL_DATA_DIR=./data/mysql # ============================================================================= # Redis 配置 # ============================================================================= # # REDIS_MODE 可选值: # external 客户自备 Redis # managed 脚本通过 Docker Compose 启动 Redis 7 容器 # REDIS_MODE=managed REDIS_HOST=redis REDIS_PORT=6379 REDIS_DATABASE=0 REDIS_DATA_DIR=./data/redis # ============================================================================= # 域名 / 访问地址配置 # ============================================================================= # # 如果没有域名,直接填写部署机器 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 # ============================================================================= # 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