Files
mengyanote/mengyanote-backend/部署说明.md
2025-12-19 15:51:26 +08:00

129 lines
2.9 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 萌芽笔记后端 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`