Files
coffeechat/docs/deployment.md
T
2026-09-21 03:51:08 +08:00

35 lines
1.7 KiB
Markdown

# 生产部署
## 1. 主机准备
`minecraft-and-affine-server` Gitea Runner 需要可执行 Docker Compose,并注册唯一的 `coffeechat-production:host` 标签;部署工作流只匹配该标签,不会被其他全局 Runner 接走。Runner 服务账号必须能读取 `/opt/coffeechat/.env`,建议将该文件权限限制为该账号可读:
```dotenv
POSTGRES_PASSWORD=随机数据库密码
JWT_SECRET=至少32位随机字符串
WECHAT_APP_ID=小程序AppID
WECHAT_APP_SECRET=小程序AppSecret
ADMIN_TOKEN=随机管理令牌
PUBLIC_BASE_URL=https://你的正式域名
COFFEECHAT_PORT=3100
```
推送 `main` 后,Runner 会构建容器、执行幂等迁移并启动服务。PostgreSQL 和上传图片分别保存在 `coffeechat-db`、`coffeechat-uploads` Docker 卷中,重新发布不会丢失。
## 2. HTTPS 反向代理
将正式域名反向代理至 `127.0.0.1:3100`,必须启用有效 HTTPS。健康检查路径为 `/health`,管理后台为 `/admin/`。
## 3. 微信公众平台
1. 在“开发管理 → 开发设置”获取 AppSecret,填入服务器环境文件,不得提交仓库。
2. 将正式 HTTPS 域名加入 `request` 和 `uploadFile` 合法域名。
3. 修改 `miniprogram/config.js` 的 `apiBaseUrl`。
4. 使用微信开发者工具完成真机测试、代码上传和体验版审核。
微信群通过二维码加入。二维码由用户提交,管理员在 Web 后台审核;审核通过前不会对其他参与者展示。微信群二维码可能过期,管理员应在审核时验证有效性。
## 4. 数据备份
建议每天备份 `coffeechat-db` 卷中的 PostgreSQL,并同步备份 `coffeechat-uploads` 卷。恢复时必须同时恢复数据库与上传目录,避免图片记录与文件不一致。