提供开箱即用的 Hexo 博客 Docker 镜像,用户无需安装 Node.js、npm、Hexo 等依赖即可运行和管理博客。
- 容器内预装 hexo-cli、git、ssh,支持所有 hexo 命令
- 容器启动时若挂载卷
/app为空,自动执行hexo init初始化博客 - 默认安装常用 hexo 插件:admin、deployer-git、generator-feed、generator-sitemap、wordcount 等
- 使用 cnpm(淘宝镜像)加速中国区 npm 安装
- 支持通过
/app/requirements.txt文件在启动时自动安装额外插件
- 支持通过
/app/userRun.sh脚本在容器启动时执行自定义命令 /app/userRun.sh可被宿主机挂载覆盖,方便用户定制
- 首次启动时自动生成 SSH 密钥对
- 写入 github.com 和 gitlab.com 的 known_hosts
- 密钥持久化到
/app/.ssh,重启不丢失
- 通过环境变量
GIT_USER、GIT_EMAIL配置 git 全局用户
- 使用 pm2 管理 hexo server 进程,支持自动重启
- 通过环境变量
HEXO_SERVER_PORT配置监听端口(默认 4000)
- 同时构建 linux/amd64 和 linux/arm64 架构镜像
- 通过 GitHub Actions 自动构建并推送到 Docker Hub
| 需求 | 说明 |
|---|---|
| 镜像体积 | 基于 node:20-slim,尽量精简 |
| 启动速度 | 首次启动(空卷)需初始化博客,后续启动秒级 |
| 易用性 | 一条命令创建容器,零配置启动 |
| 可观测性 | 启动日志输出关键步骤,pm2 提供进程状态查询 |