Files
xiaoxia-saas/docs/DEPLOYMENT.md
T
Xiaoxia AI be4b30f4da
Tests / test (push) Failing after 30s
Tests / lint (push) Failing after 30s
chore: wire deployment to environment-based configuration
2026-06-15 18:40:56 +08:00

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`