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

1.4 KiB

部署说明

目标

统一采用环境文件驱动部署:

  • 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 约定

开发/本地

cd infra/docker
docker-compose up -d

Staging

cp .env.staging .env
cd infra/docker
docker-compose up -d

Production

cp .env.production .env
cd infra/docker
docker-compose up -d

Gitea Actions 部署建议

部署时建议先放置环境文件,再启动服务:

cp .env.staging /var/lib/xiaoxia-saas-staging/.env
cd /var/lib/xiaoxia-saas-staging
docker-compose up -d

生产环境类似:

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