docs: 更新系统文档以反映Volume挂载路径修复

- 更新KOYEB_DEPLOYMENT.md部署指南
  * 修正Volume挂载路径从/app/data到/workspace/data
  * 更新环境变量配置示例,添加DB_PATH等新变量
  * 完善故障排除指南,添加日志验证方法
  * 新增Volume挂载路径问题专门说明章节
  * 更新数据备份路径和相关命令

- 更新CHANGELOG.md版本记录
  * 添加v3.1.1版本更新记录
  * 详细记录Koyeb Volume挂载路径修复
  * 记录数据库配置优化和环境检测改进
  * 记录文档更新和部署指南完善

- 文档改进内容
  * 明确不同环境的数据库路径配置策略
  * 添加环境检测和自动适配机制说明
  * 提供详细的故障排除和验证方法
  * 确保部署文档与实际配置完全一致
This commit is contained in:
patdelphi
2025-08-23 00:18:27 +08:00
parent df9e1ca81c
commit b5011988fb
2 changed files with 68 additions and 5 deletions

View File

@@ -5,6 +5,31 @@
格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/) 格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)
并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。 并且本项目遵循 [语义化版本](https://semver.org/lang/zh-CN/)。
## [3.1.1] - 2025-08-22
### 🔧 修复
- **Koyeb Volume挂载路径修复**: 解决数据库持久化问题
- 修正Koyeb实际挂载路径从 `/app/data``/workspace/data`
- 添加智能环境检测逻辑,自动适配不同部署环境
- 更新 `.koyeb/koyeb.yaml` 配置文件中的挂载路径
- 增强数据库初始化日志,显示环境状态和路径信息
- 确保数据库文件正确存储在持久化Volume中
- **数据库配置优化**: 改进多环境数据库路径管理
- Koyeb环境自动使用 `/workspace/data/numerology.db`
- Docker环境继续使用 `/app/data/numerology.db`
- 本地开发:使用相对路径 `./numerology.db`
- 添加环境检测日志:`🏢 Koyeb环境: Yes/No`
### 📚 文档更新
- **KOYEB_DEPLOYMENT.md**: 更新部署指南
- 修正Volume挂载路径说明
- 更新环境变量配置示例
- 添加故障排除和日志验证指南
- 新增Volume挂载路径问题专门说明
- **系统配置文档**: 完善部署配置说明
- 明确不同环境的数据库路径配置
- 添加环境检测和自动适配机制说明
## [3.1.0] - 2025-08-22 ## [3.1.0] - 2025-08-22
### 🆕 新增功能 ### 🆕 新增功能

View File

@@ -41,17 +41,25 @@
``` ```
NODE_ENV=production NODE_ENV=production
PORT=8000 PORT=8000
JWT_SECRET=your-super-secret-jwt-key-here DB_PATH=/workspace/data/numerology.db
JWT_SECRET=xVtKLcdGpYdtoEjEBE9hFTJgBCJrEIu9AjXtAJMtwTU=
JWT_EXPIRES_IN=7d
LOG_LEVEL=info
``` ```
**重要**: 请将 `JWT_SECRET` 替换为一个安全的随机字符串! **重要**:
- `DB_PATH` 必须设置为 `/workspace/data/numerology.db` 以匹配 Koyeb 的实际挂载路径
- `JWT_SECRET` 已设置为安全的随机字符串,生产环境可继续使用
- `NODE_ENV=production` 确保应用使用生产环境配置
#### 持久化存储 #### 持久化存储
1. 在 "Volumes" 部分添加存储卷 1. 在 "Volumes" 部分添加存储卷
2. **Name**: `sqlite-data` 2. **Name**: `sqlite-data`
3. **Mount Path**: `/app/data` 3. **Mount Path**: `/workspace/data` ⚠️ **重要**: 必须使用 `/workspace/data`,这是 Koyeb 的实际挂载路径
4. **Size**: `1GB` 4. **Size**: `1GB`
**注意**: Koyeb 实际将 Volume 挂载到 `/workspace/data` 而不是 `/app/data`。应用已自动检测并适配此路径。
### 5. 部署应用 ### 5. 部署应用
1. 检查所有配置 1. 检查所有配置
@@ -95,8 +103,10 @@ const API_BASE_URL = import.meta.env.VITE_API_BASE_URL ||
#### 2. 数据库连接问题 #### 2. 数据库连接问题
- 确保持久化存储卷已正确配置 - 确保持久化存储卷已正确配置
- 检查 `/app/data` 目录权限 - **重要**: 检查 `/workspace/data` 目录权限(不是 `/app/data`
- 查看数据库初始化日志 - 查看数据库初始化日志
- 确认日志中显示:`🗄️ 数据库路径: /workspace/data/numerology.db`
- 确认日志中显示:`🏢 Koyeb环境: Yes`
#### 3. CORS 错误 #### 3. CORS 错误
- 在服务器配置中添加您的前端域名到 CORS 白名单 - 在服务器配置中添加您的前端域名到 CORS 白名单
@@ -123,7 +133,8 @@ Koyeb 会自动监控您的应用健康状态:
定期备份您的 SQLite 数据库: 定期备份您的 SQLite 数据库:
1. 在 Koyeb 控制台中访问您的应用 1. 在 Koyeb 控制台中访问您的应用
2. 使用 "Terminal" 功能连接到容器 2. 使用 "Terminal" 功能连接到容器
3. 复制 `/app/data/numerology.db` 文件 3. 复制 `/workspace/data/numerology.db` 文件
4. 使用命令:`cp /workspace/data/numerology.db /tmp/backup-$(date +%Y%m%d).db`
### 扩展和升级 ### 扩展和升级
@@ -148,6 +159,33 @@ Koyeb 会自动监控您的应用健康状态:
- [Koyeb 定价](https://www.koyeb.com/pricing) - [Koyeb 定价](https://www.koyeb.com/pricing)
- [Koyeb 支持](https://www.koyeb.com/support) - [Koyeb 支持](https://www.koyeb.com/support)
## ⚠️ 重要更新Volume 挂载路径修复
**2024年更新**: 经过实际部署测试发现Koyeb 将 Volume 挂载到 `/workspace/data` 而不是文档中的 `/app/data`
### 问题症状
如果您看到以下日志输出,说明路径配置有问题:
```
🗄️ 数据库路径: /workspace/numerology.db ❌ 错误
🌍 运行环境: development ❌ 错误
🏢 Koyeb环境: No ❌ 错误
```
### 正确的日志输出
修复后应该看到:
```
🗄️ 数据库路径: /workspace/data/numerology.db ✅ 正确
🌍 运行环境: development ✅ 正常
🏢 Koyeb环境: Yes ✅ 正确
📁 数据库目录已存在: /workspace/data ✅ 正确
```
### 解决方案
应用已自动检测 Koyeb 环境并使用正确路径。确保:
1. Volume 挂载路径设置为 `/workspace/data`
2. 环境变量 `DB_PATH=/workspace/data/numerology.db`
3. 应用会自动检测并适配正确路径
## 🆘 获取帮助 ## 🆘 获取帮助
如果遇到问题: 如果遇到问题: