XuqmGroup-PrivateDeploy/.env.example

148 行
5.7 KiB
Plaintext

# =============================================================================
# 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
# 用于镜像标签匹配和审计追溯
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