继续提交
This commit is contained in:
128
mengyanote-backend/部署说明.md
Normal file
128
mengyanote-backend/部署说明.md
Normal 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`
|
||||
Reference in New Issue
Block a user