部署指南
好用旅记的小程序端与后端服务位于两个独立仓库,需要分别配置。建议先启动后端并确认 API 可访问,再配置小程序端的请求地址。
后端本地运行
克隆项目并安装依赖:
1 | git clone https://github.com/chaofanx/UsefulTravelogueServer.git |
复制环境变量模板:
1 | cp .env.example .env |
至少需要检查以下配置:
| 配置项 | 说明 |
|---|---|
DATABASE_URL |
MySQL 异步连接地址 |
SECRET_KEY |
应用密钥,生产环境必须替换 |
JWT_SECRET_KEY |
JWT 签名密钥,生产环境必须替换 |
WECHAT_APP_ID |
微信小程序 AppID |
WECHAT_APP_SECRET |
微信小程序密钥 |
ADMIN_USERNAME |
管理后台用户名 |
ADMIN_PASSWORD |
管理后台密码,生产环境必须替换 |
启动 MySQL 并执行迁移:
1 | docker compose up -d mysql |
启动开发服务:
1 | uvicorn app.main:app --reload |
Docker Compose 部署
仓库内的 Compose 配置包含 MySQL 和应用服务,可直接构建并启动:
1 | docker compose up -d --build |
应用默认映射到主机的 8000 端口,MySQL 数据和上传文件分别保存在 Docker Volume 中。首次部署后应检查容器状态,并执行数据库迁移:
1 | docker compose exec app alembic upgrade head |
小程序端配置
克隆并安装依赖:
1 | git clone https://github.com/chaofanx/UsefulTravelogue.git |
将 utils/env.js 中的 API 地址改为已部署的后端地址,在 project.config.json 中填写小程序 AppID。使用微信开发者工具打开项目并构建 npm 后,即可进行预览、真机调试或上传版本。
上线检查
- 后端使用 HTTPS 对外提供服务
- 在微信公众平台配置合法 request 域名和 uploadFile 域名
- 替换模板中的应用密钥、JWT 密钥和管理后台默认密码
- 配置正式的微信 AppID 与 AppSecret
- 执行全部 Alembic 迁移
- 确认上传目录和 MySQL 数据卷具备持久化与备份策略
- 验证登录、建账本、记账、分账、导出和图片上传流程