81 lines
1.4 KiB
Markdown
81 lines
1.4 KiB
Markdown
# 部署说明
|
|
|
|
## 目标
|
|
|
|
统一采用环境文件驱动部署:
|
|
|
|
- `infra/docker/compose.yml` 作为本地/开发 compose
|
|
- `.env.staging` 作为测试环境配置
|
|
- `.env.production` 作为生产环境配置
|
|
|
|
---
|
|
|
|
## 环境加载规则
|
|
|
|
### 开发环境
|
|
- 默认读取 `.env`
|
|
- 没有 `.env` 时回退到代码默认值
|
|
|
|
### Staging
|
|
- 读取 `.env.staging`
|
|
- `APP_ENV=staging`
|
|
- 端口和数据库与生产隔离
|
|
|
|
### Production
|
|
- 读取 `.env.production`
|
|
- `APP_ENV=production`
|
|
- 必须替换 `CHANGE_ME` 项
|
|
|
|
---
|
|
|
|
## Docker Compose 约定
|
|
|
|
### 开发/本地
|
|
```bash
|
|
cd infra/docker
|
|
docker-compose up -d
|
|
```
|
|
|
|
### Staging
|
|
```bash
|
|
cp .env.staging .env
|
|
cd infra/docker
|
|
docker-compose up -d
|
|
```
|
|
|
|
### Production
|
|
```bash
|
|
cp .env.production .env
|
|
cd infra/docker
|
|
docker-compose up -d
|
|
```
|
|
|
|
---
|
|
|
|
## Gitea Actions 部署建议
|
|
|
|
部署时建议先放置环境文件,再启动服务:
|
|
|
|
```bash
|
|
cp .env.staging /var/lib/xiaoxia-saas-staging/.env
|
|
cd /var/lib/xiaoxia-saas-staging
|
|
docker-compose up -d
|
|
```
|
|
|
|
生产环境类似:
|
|
|
|
```bash
|
|
cp .env.production /var/lib/xiaoxia-saas-production/.env
|
|
cd /var/lib/xiaoxia-saas-production
|
|
docker-compose up -d
|
|
```
|
|
|
|
---
|
|
|
|
## 注意事项
|
|
|
|
- `.env.production` 不要把真实密钥提交进仓库
|
|
- `MINIO_ACCESS_KEY` / `MINIO_SECRET_KEY` 要在部署时注入
|
|
- 数据库密码要通过密钥管理或服务器环境变量替换
|
|
- 生产环境 `DEBUG=false`
|