给Hexon升了个级

今天增加了一次全员核酸筛查


网友 Rinse 反馈,之前的版本现在安装会失败,老苏研究了一下日志,发现组件和 node 存在不兼容的问题

1
npm WARN notsup Not compatible with your version of node/npm: cli-cursor@4.0.0

上个版本是基于 winwin-hexo-editor 构建的,这次老苏重新构建的是 Hexon,不过看起来 Hexon 的源代码也有 3 个月没更新了

构建镜像

如果你不想自己构建,可以跳过,直接阅读下一章节

Dockerfile 根据代码做了一些调整,具体如下👇

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
FROM node:lts-slim
LABEL maintainer=laosu<wbsu2003@gmail.com>

# 将服务器端口设为环境变量
ENV HEXO_EDIT_PORT=5777

# 安装环境
RUN \
apt-get update && \
apt-get install git -y && \
npm install -g hexo-cli pnpm react-scripts@latest

RUN \
pnpm --version; \
# taobao 源
pnpm config set registry http://registry.npm.taobao.org

# 设置workdir,指向 hexo 的目录
WORKDIR /myblog

# 公开服务器端口
EXPOSE ${HEXO_EDIT_PORT}

# 构建基础服务器和配置(如果不存在),然后启动
CMD \
if [ "$(ls -A /myblog/hexo-editor)" ]; then \
echo "***** hexo-editor程序目录存在并且有内容, 跳过 *****" && \
cd hexo-editor/ ; \
else \
echo "***** hexo-editor程序目录不存在或为空, 下载安装hexo editor *****" && \
hexo init && \
git clone https://ghproxy.com/github.com/gethexon/hexon.git hexo-editor && \
cd hexo-editor/ && \
pnpm install && \
pnpm run setup; \
fi; \
pnpm start; \

构建镜像和容器运行的基本命令如下👇

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 hexon 
mkdir -p hexon

# 进入目录
cd hexon

# 将 Dockerfile 放入当前目录

# 构建镜像
docker build -t wbsu2003/docker-hexo-editor:v2 .

命令行安装

如果你熟悉命令行,可能用 docker cli 更快捷

1
2
3
4
5
6
7
8
9
10
11
12
13
# 新建文件夹 hexo 和 子目录
mkdir -p /volume2/docker/hexo/blog

# 进入 hexo 目录
cd /volume2/docker/hexo

# 运行容器
docker run -d \
--name hexon \
-p 5888:5777 \
-e HEXO_EDIT_PORT=5888 \
-v $(pwd)/blog:/myblog \
wbsu2003/docker-hexo-editor:latest

设置

在访问之前,我们还要完成相关的设置,包括账号和密码等

1
2
3
4
5
6
7
8
9
10
11
# 进入容器
docker exec --user root -it hexon /bin/bash

# 进入 server 目录
cd hexo-editor/server/

# 设置
pnpm run setup

# 退出容器
exit

  • 端口:

    ? Which port do you like Hexon running at? 5777,直接回车,使用默认的 5777即可;

  • hexo blog 路径:

    ? Your hexo blog path? Absolute or relative path to hexon. ,直接回车即可;

  • 用户名:

    ? Username ?,老苏设为了 admin,你可以按自己的需要设置;

  • 密码:

    ? Password ? [hidden],密码不会显示,根据需要设置即可;

设置完成后,需要重启一次容器,否则可能还是不能登录的

参数保存在 /docker/hexo/blog/hexo-editor/server/data/common.db 文件

密码是经过处理的

可以通过下面的命令重装密码

1
2
# 重置密码
pnpm resetpwd

运行

在浏览器中输入 http://群晖IP:5888 就能看到登录界面

用前面设置的账号密码登录

新建文章

支持简洁模式

和高级模式

新建的文章在 /docker/hexo/blog/source/_posts,显然 path 是包含了文件名的,在默认路径下,path 等于文件名

接下来就可以编辑保存了

部署脚本

这是针对左上角的菜单的

需要进入容器内设置

1
2
3
4
5
6
7
8
# 进入容器
docker exec --user root -it hexon /bin/bash

# 进入 server 目录
cd hexo-editor/server/

# 管理用户自定义脚本
pnpm script

可以直接创建脚本文件

在脚本文件中写脚本

也可以直接输入脚本

以上内容保存在 /docker/hexo/blog/hexo-editor/server/data/database.json 文件中

所以我觉得你应该发现了更简单的方法

参考文档

hexon/client at master · gethexon/hexon
地址:https://github.com/gethexon/hexon

Hexon一款有趣的Hexo在线编辑器 | Jabari
地址:https://everweekup.com/posts/27063.html