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

2.9 KiB
Raw Permalink Blame History

萌芽笔记后端 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 会自动读取最新内容。

🔐 安全建议

  1. 如果需要对外公开,建议配置 Nginx 反向代理和 SSL 证书
  2. 可以通过防火墙限制访问来源
  3. 定期备份 /shumengya/docker/mengyanote/data 目录

⚠️ 注意事项

  1. 首次部署前确保已将数据复制到持久化目录
  2. 修改 ignore.json 后需要重启容器:docker-compose restart
  3. 如果修改了 main.py,需要重新构建镜像:docker-compose up -d --build