我在极空间安装了node和 hexo-olivetin两个容器然后,然后通过浏览器编辑器来在nas上编写文章,之后直接在网页编辑器执行推送和拉取。这两个容器怎么理解各自的功能?
一句话理解两个容器分工
node 容器 = Hexo 博客的「运行引擎」;hexo-olivetin 容器 = 网页控制面板 + 编辑器
两个容器分工协作,共享同一个 Hexo 博客文件夹,互不抢功能。
🟢 Node 容器(node:22.23-alpine)
核心:提供 Node.js 运行环境,负责跑 hexo 命令
- 内置 node、npm、hexo、git。Hexo 本身就是 node 写的,没有它,
hexo g、hexo d这些命令完全跑不起来。 - 挂载你的 hexo 博客源码目录(
_posts文章、主题、配置文件)。 OliveTin 触发的所有操作,实际是在这个 node 容器内部执行:
- hexo clean(清理缓存)
- hexo generate(生成静态网页)
- hexo deploy(推送到 GitHub)
- git pull(拉取远端)
- 特点:没有网页界面,就是后台命令执行引擎。只负责计算、渲染、git 推送。
类比:游戏引擎,只负责运算,不给你操作界面。
🟢 hexo-olivetin 容器(OliveTin)
OliveTin 本身是一个网页工具面板,它不带 Node,也不带 Hexo!OliveTin
提供浏览器访问的 Web 界面:
- Markdown 网页编辑器(写文章、新建 md)
- 按钮面板:一键执行【生成、推送、拉取】
- OliveTin 的本质:网页按钮 → 调用外部容器的 shell 命令
你在网页点「部署」,olivetin 不会自己跑 hexo;它去调用 node 容器里面的 hexo 命令。 它只做两件事:
- 管理文件:在线编辑_posts 里的 markdown 文章,保存到 NAS 的 hexo 目录
- 封装按钮:把复杂的 hexo/git 命令包装成网页上一键点击按钮
类比:游戏的启动器 / 控制面板,你点按钮,指令交给后台引擎(node 容器)干活。
整套流程拆解(你日常写文章的链路)
- 浏览器打开 OliveTin 网页编辑器,写文章,保存 md 文件 → 文件写入 NAS 的 Hexo 源码目录
- 点网页按钮【生成】→ OliveTin 触发指令,交给node 容器执行
hexo g,渲染网页 - 点【推送】→ node 容器执行
hexo d,通过 git 把 public 推 GitHub(走你 PC 上 Clash 代理) - 保存文章后,Syncthing 监测到_posts 文件变动,单向同步文章到 PC 的同步目录,做备份
- 你 PC 上
hexo-debug调试主题,调好后手动上传主题文件夹到 NAS 的 hexo 目录,node 容器下次生成就会使用新主题
⚠️ 关键要点
- 两个容器必须挂载同一个 hexo 博客目录,才能读写同一套文章、主题、配置。
- 单独停掉 OliveTin:node 容器仍然可以手动进终端执行 hexo 命令,博客源码不会丢
- 单独停掉 node 容器:OliveTin 网页编辑器还能打开,可以写文章,但是【生成 / 推送按钮点了无效】,没有引擎干活
- OliveTin不能渲染博客,渲染全部交给 node 容器。
对应你 PC 调试的关系
- NAS node 容器 ≈ PC 上的 Node+Hexo 环境(用来
hexo g/hexo s) - NAS hexo-olivetin ≈ VS Code + 命令行按钮(用来写文章、触发命令)
小坑提醒
OliveTin 只负责编辑器和按钮,Hexo 版本、node 版本全部由 node 容器决定,所以你 PC 调试环境和 NAS node 容器统一为 node22,避免渲染差异,这个思路是完全正确的。
精简总结
- Node 容器:干活(hexo 渲染、git 推送)
- OliveTin:给你网页界面写文章 + 一键触发干活指令
- 文章存在 NAS 共享目录,写完 syncthing 单向同步到 PC 备份;主题在 PC 调试,定稿再上传 NAS。
如果你想,我可以讲下,当以后想升级 hexo 版本,是升级 node 容器,而不是 olivetin 容器。
帮你把整套架构再极简复盘一遍,方便以后忘了可以快速回看:
NAS
- node 容器:Hexo 运行引擎,负责执行
hexo g/hexo d/git 拉取推送 - hexo-olivetin:网页编辑器 + 控制面板,写文章、点按钮,命令交给 node 容器执行
- Syncthing:检测
_posts文章变动,单向同步到 PC 备份目录
- node 容器:Hexo 运行引擎,负责执行
PC
- 同步目录:NAS 文章的备份,不修改主题
- hexo-debug 调试目录:独立副本,在这里改主题、
hexo s预览;定稿后只上传themes文件夹回 NAS - Clash Verge:提供局域网代理,供 NAS 推送 GitHub 使用
后续你大概率会遇到的场景
- 改主题样式:PC hexo-debug,
hexo s实时预览,不用碰 NAS - 写新文章:NAS 网页编辑器,写完自动同步备份到 PC
- 博客发布:NAS 网页一键生成 + 推送,复用你现有的代理