-
Notifications
You must be signed in to change notification settings - Fork 1k
Expand file tree
/
Copy pathdocker.env.example
More file actions
203 lines (171 loc) · 6.17 KB
/
Copy pathdocker.env.example
File metadata and controls
203 lines (171 loc) · 6.17 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
# ==============================================================================
# EggCMS Docker 环境配置
# 请根据实际部署环境修改以下配置
#
# 使用说明:
# 1. 复制此文件为 .env 或 docker.env
# 2. 根据需要修改配置项
# 3. 确保修改所有标记为"必须修改"的安全配置
# ==============================================================================
# =================================
# 服务器基础配置
# =================================
NODE_ENV=production
PORT=8080
HOSTNAME=0.0.0.0
# =================================
# 数据库类型选择
# =================================
# 数据库类型: mongodb 或 mariadb
# 注意:切换数据库类型需要相应的数据迁移
DATABASE_TYPE=mongodb
# Compose Profile: mongodb 或 mariadb,可用逗号追加 redis/nginx
# docker compose 会读取此值决定启动哪些服务
COMPOSE_PROFILES=mongodb
# Repository 模式开关(MariaDB 建议开启)
# - true: 使用传统的 Mongoose Model(仅 MongoDB)
# - true: 使用 Repository/Adapter 模式(支持 MongoDB 和 MariaDB)
REPOSITORY_ENABLED=true
# =================================
# 数据库初始化控制
# =================================
# 跳过数据库初始化检查(生产环境建议设为 true)
# - false: 应用启动时检查并初始化空数据库(默认)
# - true: 跳过初始化检查,适用于已有数据的生产环境
DB_SKIP_INIT=false
# 强制重新初始化数据库(危险操作 ⚠️)
# - false: 不强制初始化(默认)
# - true: 清空并重新初始化数据库(会删除所有数据!)
# 警告:仅在开发/测试环境使用,生产环境禁止开启
DB_FORCE_INIT=false
# =================================
# MongoDB 数据库配置
# =================================
# MongoDB Root 用户(仅用于初始化,容器内部使用)
MONGODB_ROOT_USERNAME=admin
MONGODB_ROOT_PASSWORD=admin123
# MongoDB 应用用户(应用程序实际使用的账户)
MONGODB_HOST=mongodb
MONGODB_PORT=27017
MONGODB_USERNAME=eggcms
MONGODB_PASSWORD=eggcms123
MONGODB_DATABASE=doracms3
# 认证数据库(通常与 MONGODB_DATABASE 相同)
MONGODB_AUTH_SOURCE=doracms3
# =================================
# MariaDB 数据库配置
# =================================
# MariaDB Root 用户(仅用于初始化,容器内部使用)
MARIADB_ROOT_PASSWORD=admin123
# MariaDB 应用用户(应用程序实际使用的账户)
MARIADB_HOST=mariadb
MARIADB_PORT=3306
MARIADB_USERNAME=eggcms
MARIADB_PASSWORD=eggcms123
MARIADB_DATABASE=doracms3
# 注意:
# - 使用 MariaDB 时,建议设置 REPOSITORY_ENABLED=true
# - MariaDB 首次启动时会自动创建表结构(通过 Sequelize sync)
# - 如需从 MongoDB 迁移到 MariaDB,请参考文档中的迁移指南
# Redis 配置(必选,默认使用内置 redis 服务)
REDIS_HOST=redis
REDIS_PORT=6379
REDIS_PASSWORD=
REDIS_DB=0
# =================================
# 安全配置(生产环境必须修改 ⚠️)
# =================================
# ⚠️ 警告:以下密钥必须在生产环境中修改为强随机字符串!
# 可以使用以下命令生成随机密钥:
# node -e "console.log(require('crypto').randomBytes(32).toString('hex'))"
# 或
# openssl rand -hex 32
# 应用密钥(必须修改 ⚠️)
APP_KEYS=your_production_app_keys_here_change_this_to_strong_random_string
# 会话密钥(必须修改 ⚠️)
SESSION_SECRET=your_production_session_secret_change_this
# 其他加密密钥(建议修改)
AUTH_COOKIE_NAME=doracms
ENCRYPT_KEY=dora
SALT_AES_KEY=doracms_
SALT_MD5_KEY=dora
# =================================
# CORS 和域名配置
# =================================
# 允许的前端域名(多个域名用逗号分隔)
CORS_ORIGINS=http://localhost:8080,https://your-domain.com,https://www.your-domain.com
# 白名单域名
DOMAIN_WHITELIST=localhost,your-domain.com,www.your-domain.com
# =================================
# 外部服务配置
# =================================
# CDN 域名
CDN_ORIGIN=https://cdn.html-js.cn
# API 域名
API_DOMAIN=https://api.html-js.cn
# 管理后台路径
ADMIN_BASE_PATH=/admin
# =================================
# SSL 证书配置(使用 Nginx 时)
# =================================
# SSL_CERT_PATH=/etc/nginx/ssl/cert.pem
# SSL_KEY_PATH=/etc/nginx/ssl/key.pem
# =================================
# 备份配置(可选)
# =================================
# 数据备份间隔(cron 表达式,默认每天凌晨2点)
BACKUP_SCHEDULE=0 2 * * *
# 备份保留天数
BACKUP_RETENTION_DAYS=30
# =================================
# 日志配置
# =================================
LOG_LEVEL=INFO
LOG_DIR=/app/server/logs
# =================================
# 缓存配置
# =================================
# 缓存类型:memory(内存缓存,默认) | redis(Redis缓存)
CACHE_TYPE=memory
# 缓存默认过期时间(秒)
CACHE_DEFAULT_TTL=3600
# 内存缓存最大条目数
MEMORY_CACHE_MAX_SIZE=1000
# 缓存命名空间(默认:{应用名}:{NODE_ENV})
CACHE_NAMESPACE=cms3:docker
# 是否启用缓存 watch(跨进程同步)
CACHE_WATCH_ENABLED=true
# watch 消息通道名称
CACHE_WATCH_CHANNEL=unified-cache:watch
# watch 是否传播缓存值
CACHE_WATCH_BROADCAST_VALUE=true
# 权限热加载开关
PERMISSION_HOT_RELOAD_ENABLED=true
# 权限热加载轮询间隔(毫秒)
PERMISSION_HOT_RELOAD_INTERVAL=5000
# =================================
# 文件上传配置
# =================================
UPLOAD_MAX_SIZE=5MB
UPLOAD_ALLOWED_TYPES=.jpg,.jpeg,.png,.gif,.pdf,.doc,.docx
# =================================
# 邮件服务配置(可选)
# =================================
# SMTP_HOST=smtp.gmail.com
# SMTP_PORT=587
# SMTP_USER=your-email@gmail.com
# SMTP_PASSWORD=your-app-password
# SMTP_FROM=noreply@your-domain.com
# =================================
# 云存储配置(可选)
# =================================
# 阿里云 OSS
# ALIYUN_OSS_REGION=oss-cn-hangzhou
# ALIYUN_OSS_BUCKET=your-bucket
# ALIYUN_OSS_ACCESS_KEY_ID=your-access-key
# ALIYUN_OSS_ACCESS_KEY_SECRET=your-secret
# 七牛云
# QINIU_ACCESS_KEY=your-access-key
# QINIU_SECRET_KEY=your-secret-key
# QINIU_BUCKET=your-bucket
# QINIU_DOMAIN=your-domain.com