路仔小屋

快乐每一天^_^

理解node和hexo-olivetin容器

aluz 2026年10月06日 编辑

我在极空间安装了node和 hexo-olivetin两个容器然后,然后通过浏览器编辑器来在nas上编写文章,之后直接在网页编辑器执行推送和拉取。这两个容器怎么理解各自的功能?

一句话理解两个容器分工

node 容器 = Hexo 博客的「运行引擎」;hexo-olivetin 容器 = 网页控制面板 + 编辑器
两个容器分工协作,共享同一个 Hexo 博客文件夹,互不抢功能。

🟢 Node 容器(node:22.23-alpine)

核心:提供 Node.js 运行环境,负责跑 hexo 命令
  1. 内置 node、npm、hexo、git。Hexo 本身就是 node 写的,没有它,hexo g、hexo d 这些命令完全跑不起来。
  2. 挂载你的 hexo 博客源码目录(_posts文章、主题、配置文件)。
  3. OliveTin 触发的所有操作,实际是在这个 node 容器内部执行:

    • hexo clean(清理缓存)
    • hexo generate(生成静态网页)
    • hexo deploy(推送到 GitHub)
    • git pull(拉取远端)
  4. 特点:没有网页界面,就是后台命令执行引擎。只负责计算、渲染、git 推送。
类比:游戏引擎,只负责运算,不给你操作界面。

🟢 hexo-olivetin 容器(OliveTin)

OliveTin 本身是一个网页工具面板,它不带 Node,也不带 Hexo!OliveTin

  1. 提供浏览器访问的 Web 界面:

    • Markdown 网页编辑器(写文章、新建 md)
    • 按钮面板:一键执行【生成、推送、拉取】
  2. OliveTin 的本质:网页按钮 → 调用外部容器的 shell 命令
    你在网页点「部署」,olivetin 不会自己跑 hexo;它去调用 node 容器里面的 hexo 命令。
  3. 它只做两件事:

    • 管理文件:在线编辑_posts 里的 markdown 文章,保存到 NAS 的 hexo 目录
    • 封装按钮:把复杂的 hexo/git 命令包装成网页上一键点击按钮
类比:游戏的启动器 / 控制面板,你点按钮,指令交给后台引擎(node 容器)干活。

整套流程拆解(你日常写文章的链路)

  1. 浏览器打开 OliveTin 网页编辑器,写文章,保存 md 文件 → 文件写入 NAS 的 Hexo 源码目录
  2. 点网页按钮【生成】→ OliveTin 触发指令,交给node 容器执行 hexo g,渲染网页
  3. 点【推送】→ node 容器执行hexo d,通过 git 把 public 推 GitHub(走你 PC 上 Clash 代理)
  4. 保存文章后,Syncthing 监测到_posts 文件变动,单向同步文章到 PC 的同步目录,做备份
  5. 你 PC 上hexo-debug调试主题,调好后手动上传主题文件夹到 NAS 的 hexo 目录,node 容器下次生成就会使用新主题

⚠️ 关键要点

  1. 两个容器必须挂载同一个 hexo 博客目录,才能读写同一套文章、主题、配置。
  2. 单独停掉 OliveTin:node 容器仍然可以手动进终端执行 hexo 命令,博客源码不会丢
  3. 单独停掉 node 容器:OliveTin 网页编辑器还能打开,可以写文章,但是【生成 / 推送按钮点了无效】,没有引擎干活
  4. 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 容器。
帮你把整套架构再极简复盘一遍,方便以后忘了可以快速回看:

  1. NAS

    • node 容器:Hexo 运行引擎,负责执行 hexo g / hexo d /git 拉取推送
    • hexo-olivetin:网页编辑器 + 控制面板,写文章、点按钮,命令交给 node 容器执行
    • Syncthing:检测_posts文章变动,单向同步到 PC 备份目录
  2. PC

    • 同步目录:NAS 文章的备份,不修改主题
    • hexo-debug 调试目录:独立副本,在这里改主题、hexo s预览;定稿后只上传themes文件夹回 NAS
    • Clash Verge:提供局域网代理,供 NAS 推送 GitHub 使用

后续你大概率会遇到的场景

  • 改主题样式:PC hexo-debug,hexo s实时预览,不用碰 NAS
  • 写新文章:NAS 网页编辑器,写完自动同步备份到 PC
  • 博客发布:NAS 网页一键生成 + 推送,复用你现有的代理
猜你喜欢