继续提交

This commit is contained in:
2025-12-19 15:51:26 +08:00
parent 0ce60d78df
commit cf2203e3eb
500 changed files with 3259 additions and 7739 deletions

View File

@@ -0,0 +1,128 @@
# 萌芽笔记后端 Docker 部署说明
## 📋 部署要求
- Docker 20.10+
- Docker Compose 2.0+
- 服务器端口 2424 未被占用
## 🚀 快速部署
### 1. 准备数据目录
```bash
# 在服务器上创建持久化目录
mkdir -p /shumengya/docker/mengyanote/data
# 将 mengyanote 文件夹的内容复制到持久化目录
cp -r mengyanote/* /shumengya/docker/mengyanote/data/
```
### 2. 构建并启动服务
```bash
# 进入后端目录
cd mengyanote-backend
# 构建并启动服务(后台运行)
docker-compose up -d --build
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
```
### 3. 验证部署
```bash
# 测试 API 接口
curl http://localhost:2424/api/tree
# 或在浏览器访问
# http://your-server-ip:2424/api/tree
```
## 📁 目录结构
```
mengyanote-backend/
├── Dockerfile # Docker 镜像构建文件
├── docker-compose.yml # Docker Compose 配置
├── .dockerignore # Docker 忽略文件
├── main.py # 主程序
├── requirements.txt # Python 依赖
└── mengyanote/ # Markdown 数据目录
```
## 🔧 配置说明
### 端口配置
- **容器内部端口**: 8000
- **对外映射端口**: 2424
- 可在 `docker-compose.yml` 中修改 `ports` 配置
### 持久化路径
- **宿主机路径**: `/shumengya/docker/mengyanote/data`
- **容器内路径**: `/app/mengyanote`
- Markdown 文件将保存在宿主机路径中,容器重启不会丢失
### 环境变量
- `TZ=Asia/Shanghai`: 设置时区为上海时区
## 🛠️ 常用命令
```bash
# 查看容器状态
docker-compose ps
# 查看实时日志
docker-compose logs -f mengyanote-backend
# 重启服务
docker-compose restart
# 停止并删除容器
docker-compose down
# 重新构建镜像并启动
docker-compose up -d --build --force-recreate
# 进入容器内部
docker exec -it mengyanote-backend /bin/bash
```
## 🔍 健康检查
服务配置了健康检查:
- 每 30 秒检查一次 `/api/tree` 接口
- 超时时间 10 秒
- 连续失败 3 次后标记为不健康
- 启动后等待 40 秒开始检查
## 📝 更新 Markdown 数据
由于数据已持久化到宿主机,可以直接修改:
```bash
# 直接编辑持久化目录中的文件
vi /shumengya/docker/mengyanote/data/📒萌芽笔记.md
# 或者上传新文件到该目录
cp new-note.md /shumengya/docker/mengyanote/data/
```
修改后无需重启容器API 会自动读取最新内容。
## 🔐 安全建议
1. 如果需要对外公开,建议配置 Nginx 反向代理和 SSL 证书
2. 可以通过防火墙限制访问来源
3. 定期备份 `/shumengya/docker/mengyanote/data` 目录
## ⚠️ 注意事项
1. 首次部署前确保已将数据复制到持久化目录
2. 修改 `ignore.json` 后需要重启容器:`docker-compose restart`
3. 如果修改了 `main.py`,需要重新构建镜像:`docker-compose up -d --build`