电脑端
Halo 博客简介
Halo 是一款现代化的开源博客和内容管理系统(CMS),功能丰富,支持 Markdown 文档,能够满足日常写作和文章分享的需求。对于喜欢写作、分享和构建个人博客的用户来说,Halo 是一个非常理想的选择。本篇教程将介绍如何使用 Docker Compose 来部署 Halo 博客。

使用 Docker Compose 搭建 Halo 博客
步骤一:进入Docker项目界面
在UGOS Pro系统中,打开Docker应用,点击【项目】>【创建】,启动项目创建向导。

步骤二:配置Docker Compose文件
在创建项目时,您需要提供Docker Compose配置文件。粘贴以下 Docker Compose 配置文件:
services:
halo:
image: halohub/halo:sha-9ffb1bb
container_name: halo
restart: always
ports:
- "8090:8090" # 将容器的8090端口映射到宿主机的8090端口
volumes:
- ./halo:/root/.halo # 挂载容器数据目录到本地文件夹,确保数据持久化
environment:
- TZ=Asia/Shanghai # 设置时区为上海,可根据需要调整
- HALO_EXTERNAL_URL=http://yourdomain.com # 替换为你博客的域名或IP地址
参数说明:
● image: 指定用于运行 Halo 的 Docker 镜像。
● container_name: 容器名称,方便识别和管理。
● restart: 配置为 always,确保容器在异常退出后自动重启。
● ports: 将容器内的 8090 端口映射到NAS的 8090 端口,使外部可以通过该端口访问博客。
● volumes: 挂载nas的 ./halo 文件夹到容器内的 /root/.halo 目录,以持久保存博客数据。
● environment: 设置环境变量:
○ TZ: 设置容器的时区,确保日志时间与本地时间同步。
○ HALO_EXTERNAL_URL: 设置博客的外部访问地址,建议填写你博客的域名或 NAS 的 IP 地址。
步骤三:验证并创建容器
完成配置后,点击“立即部署”以检查配置文件的正确性。验证通过后,系统将根据 Docker Compose 文件启动 Halo 容器。点击“完成”后,你可以在“容器列表”中看到 Halo 容器已经正确启动。


步骤四:访问并使用 Halo 博客
1. 在浏览器中输入 http://<NAS-IP>:8090,将 <NAS-IP> 替换为您的 NAS 的实际 IP 地址(如 http://192.168.1.100:8090)。首次访问时,会进入 Halo 的初始化页面,按照向导进行配置。
2. 自定义站点名称、邮箱、 用户名、密码, 点击“初始化”。

3. 输入用户名和密码,登录halo,进入仪表盘界面。


4. 在 Halo 后台管理页面的 文章 模块中,点击 “新建”,编辑文章后,点击“发布”,文章发布后即可在文章列表中查看。

5. 本地浏览器访问 http://<NAS-IP>:8090(例如http://192.168.22.153:8090 ),查看 Halo 前台首页,您将看到发布的文章。了解更多使用教程请参考halo官方教程 《用户指南 | Halo 文档 》。

常见问题
1. 容器端口冲突问题
如果 8090 端口已经被占用,可以在 docker-compose.yml 文件中将 8090:8090 修改为其他可用的端口,例如 8080:8090,然后通过 http://<NAS-IP>:8080 进行访问。
2. 数据持久化
务必保证将 Halo 的数据目录(/root/.halo)映射到 NAS 的某个文件夹(如 /volume1/halo)。这样即使容器重启或删除,博客的内容和设置不会丢失。
3. 环境变量配置
根据你的需求调整 HALO_EXTERNAL_URL 和 TZ,确保访问地址和时区设置正确。时区不一致可能会导致博客时间显示错误,影响用户体验。
4. 容器崩溃或无法启动
如果容器无法正常启动,可以通过 Docker 查看日志。常见的错误包括端口冲突、镜像拉取失败等问题。
在绿联NAS上搭建Halo个人博客
https://www.zzssp.com/archives/Halo
评论