refactor: 连接配置统一迁移至 .env,config.yaml 仅作默认值

- 新增 .env.example 模板(DB/Redis/Server 全部连接信息)
- bindEnvOverride 补全 11 个环境变量绑定(原仅 2 个密码)
- README 和 deployment.md 改为 .env 优先流程
- 移除 systemd EnvironmentFile,统一读 WorkingDirectory/.env
This commit is contained in:
2026-06-22 02:49:24 +08:00
parent 786f463613
commit e7185f58fb
4 changed files with 80 additions and 58 deletions

View File

@ -30,33 +30,33 @@ done
## 3. 配置
复制并修改生产配置:
```bash
cp .env.example .env
```
编辑 `.env`,填入生产环境值:
```bash
cp config.yaml /etc/mce/config.yaml
# 服务
SERVER_MODE=release
# 数据库(生产实例地址)
DATABASE_HOST=10.0.0.1
DATABASE_PORT=5432
DATABASE_USER=metazone
DATABASE_PASSWORD=your_secure_password
DATABASE_DBNAME=metalab_prod
DATABASE_SSLMODE=require
# Redis
REDIS_ENABLED=true
REDIS_HOST=10.0.0.2
REDIS_PORT=6379
REDIS_PASSWORD=your_redis_password
REDIS_DB=0
```
生产环境关键调整:
```yaml
server:
mode: release # 关闭 debug 日志
cookie_secure: true # HTTPS 下启用
session:
idle_timeout: 120 # 2 小时
remember_timeout: 43200 # 30 天
redis:
enabled: true # 生产环境建议启用
```
敏感信息通过环境变量注入(不写进配置文件):
```bash
export DB_PASSWORD="..."
export REDIS_PASSWORD="..."
```
> `config.yaml` 中的默认值会被 `.env` 覆盖,通常无需修改。
## 4. systemd 服务
@ -71,7 +71,6 @@ After=network.target postgresql.service redis.service
Type=simple
User=mce
WorkingDirectory=/opt/mce
EnvironmentFile=-/etc/mce/env
ExecStart=/usr/local/bin/mce
Restart=on-failure
RestartSec=5
@ -80,13 +79,6 @@ RestartSec=5
WantedBy=multi-user.target
```
`/etc/mce/env`
```bash
DB_PASSWORD=your_db_password
REDIS_PASSWORD=your_redis_password
```
启动:
```bash