1.8 KiB
1.8 KiB
部署说明
唯一部署入口
小虾 SaaS 当前唯一有效 Docker 部署入口是:
infra/docker/compose.ymlinfra/docker/api.Dockerfileinfra/docker/worker.Dockerfileinfra/docker/web.Dockerfileinfra/docker/deploy-staging.sh
仓库根目录的 Dockerfile 和 docker-compose.yml 已废弃,只作为防误用哨兵保留,不允许用于部署。
环境加载规则
开发环境
- 默认读取
.env - 没有
.env时回退到代码默认值
Staging
- 服务器环境文件:
/var/lib/xiaoxia-saas-staging/.env APP_ENV=stagingWEB_PORT=3001- 由 Gitea Actions 调用
infra/docker/deploy-staging.sh
Production
- 生产环境文件:
/var/lib/xiaoxia-saas-production/.env APP_ENV=production- 只允许通过 tag/release 触发生产部署
- 必须替换所有密钥和
CHANGE_ME项
本地/手动部署
从仓库根目录执行:
docker compose -f infra/docker/compose.yml up -d --build
Staging 手动部署应复用同一入口:
cp /var/lib/xiaoxia-saas-staging/.env .env
WEB_PORT=3001 docker compose -f infra/docker/compose.yml up -d --build
服务器自动部署使用:
infra/docker/deploy-staging.sh
Gitea Actions 约定
develop分支触发 staging 部署。- tag
v*才允许触发 production 部署。 - Actions 先同步代码到
/var/lib/xiaoxia-saas-staging/repo。 - Actions 再复制
/var/lib/xiaoxia-saas-staging/.env到部署工作目录。 - Actions 最终调用
infra/docker/deploy-staging.sh。
注意事项
- 不要使用根目录
Dockerfile。 - 不要使用根目录
docker-compose.yml。 .env.production不要提交真实密钥。- OSS、数据库、Redis、JWT 密钥必须通过服务器环境文件注入。
- 生产环境必须设置
DEBUG=false。