2.9 KiB
2.9 KiB
萌芽笔记后端 Docker 部署说明
📋 部署要求
- Docker 20.10+
- Docker Compose 2.0+
- 服务器端口 2424 未被占用
🚀 快速部署
1. 准备数据目录
# 在服务器上创建持久化目录
mkdir -p /shumengya/docker/mengyanote/data
# 将 mengyanote 文件夹的内容复制到持久化目录
cp -r mengyanote/* /shumengya/docker/mengyanote/data/
2. 构建并启动服务
# 进入后端目录
cd mengyanote-backend
# 构建并启动服务(后台运行)
docker-compose up -d --build
# 查看日志
docker-compose logs -f
# 停止服务
docker-compose down
3. 验证部署
# 测试 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: 设置时区为上海时区
🛠️ 常用命令
# 查看容器状态
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 数据
由于数据已持久化到宿主机,可以直接修改:
# 直接编辑持久化目录中的文件
vi /shumengya/docker/mengyanote/data/📒萌芽笔记.md
# 或者上传新文件到该目录
cp new-note.md /shumengya/docker/mengyanote/data/
修改后无需重启容器,API 会自动读取最新内容。
🔐 安全建议
- 如果需要对外公开,建议配置 Nginx 反向代理和 SSL 证书
- 可以通过防火墙限制访问来源
- 定期备份
/shumengya/docker/mengyanote/data目录
⚠️ 注意事项
- 首次部署前确保已将数据复制到持久化目录
- 修改
ignore.json后需要重启容器:docker-compose restart - 如果修改了
main.py,需要重新构建镜像:docker-compose up -d --build