群晖NAS用Docker Compose搭建Halo,打造专属私有建站平台

今天来解锁群晖NAS超实用玩法:用Docker Compose一键搭建Halo私有博客/建站系统!
使用容器服务,几分钟就能搭建专属个人博客、私有知识库、作品展示官网,数据完全本地存储,自由又省心。
一、什么是Halo?
Halo是一款开源、轻量、高颜值、易上手的现代化建站系统,主打极简部署、可视化编辑、插件化拓展。
比起繁杂的WordPress、笨重的Typecho,Halo最大的优势就是:轻量化不卡顿、界面极简美观、无需复杂代码、维护零压力,完美适配个人和小型场景建站需求。
Halo就是一套开箱即用的网站模板系统,不用懂编程,就能搭出专属自己的独立网站。
二、安装前准备
新建目录(数据持久化)
/volume1/docker/halo/
├── docker-compose.yml
├── halo2/ # Halo数据
└── db/ # PostgreSQL数据打开群晖File Station,在默认的docker共享文件夹内,新建「halo文件夹」,所有Halo网站数据、配置、数据库都会保存在这里。halo文件夹下再分别创建「halo2文件夹」、「db文件夹」
三、Docker Compose部署Halo
全程分为「创建配置文件→部署容器→初始化网站」三步。
第一步:编写docker-compose.yaml配置文件
version: '3.8'
services:
#博客主程序
halo:
image: registry.fit2cloud.com/halo/halo:2.24
container_name: halo
restart: on-failure:3 #重启策略:失败时自动重启,最多重试3次
depends_on:
halodb:
condition: service_healthy #必须等halodb数据库完全启动且健康后,才启动halo
networks:
- halo_network #加入自定义网络 halo_network
volumes:
- ./halo2:/root/.halo2 #容器内的数据映射到群晖本地文件夹 ./halo2
ports:
- "8090:8090"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8090/actuator/health/readiness"]
interval: 30s
timeout: 5s
retries: 5
start_period: 60s
environment:
TZ: Asia/Shanghai
JVM_OPTS: -Xmx512m -Xms256m #Java 内存限制:最大512M,初始256M,防止NAS内存被占满
command:
- --spring.r2dbc.url=r2dbc:pool:postgresql://halodb/halo
- --spring.r2dbc.username=halo
- --spring.r2dbc.password=CHANGE_ME_DB_PASSWORD
- --spring.sql.init.platform=postgresql
- --halo.external-url=http://192.168.1.10:8090/
#PostgreSQL 数据库
halodb:
image: postgres:15.4
container_name: halo-db
restart: on-failure:3
networks:
- halo_network #和halo在同一个内网
volumes:
- ./db:/var/lib/postgresql/data
healthcheck:
test: ["CMD", "pg_isready"]
interval: 10s
timeout: 5s
retries: 5
environment:
TZ: Asia/Shanghai
POSTGRES_PASSWORD: CHANGE_ME_DB_PASSWORD
POSTGRES_USER: halo
POSTGRES_DB: halo
PGUSER: halo
#创建一个独立的自定义网络
networks:
halo_network:关键参数说明:
-
CHANGE_ME_DB_PASSWORD:halo与halodb里两处密码必须一致 -
--halo.external-url: 改成你真实的访问地址,例如:
-
仅内网:
http://192.168.1.10:8090/(NAS 局域网 IP) -
有域名:
https://blog.example.com/(初始化前就设对)
第二步:Container Manager 图形界面部署Halo(不用SSH)
-
Container Manager→项目→新增 -
项目名称
halo,路径/docker/halo -
来源
创建docker-compose.yml,粘贴docker-compose.yml -
构建并启动
-
浏览器访问
/console完成初始化
第三步:初始化Halo网站后台
-
浏览器输入:
群晖IP:8090/console进入管理后台 -
根据页面提示,进行系统初始化
到这里,你的专属私有网站就搭建完成了!

四、备份与恢复
Halo 所有持久化数据都在 compose 目录:
./halo2/ 站点配置、主题、附件、插件
./db/ PostgreSQL 数据
备份:定期复制整个 /volume1/docker/halo/(或 Hyper Backup 整目录)。
五、不止是博客!Halo实用使用场景
Halo不只是搭博客,它的可塑性极强,结合NAS的私有属性,能解锁超多实用场景,每一个都值得落地。
1. 个人技术/生活博客
搭建完全属于自己的独立博客。
你可以记录学习笔记、技术踩坑、生活随笔、旅行日记。搭配Halo丰富的主题模板,一键切换极简、文艺、科技风格,颜值远超普通博客。
2. 私人知识库&学习笔记系统
对于学生、职场人、技术从业者,Halo是绝佳的私有笔记知识库。
支持分类归档、标签检索、关键词搜索、文章加密,把网课笔记、工作文档、学习总结、干货素材全部整理在这里。
NAS本地部署的Halo无广告、无字数限制、不丢失数据、访问更快,是永久专属的知识仓库。
3. 个人作品展示官网
设计师、摄影师、自媒体人、开发者,可用来搭建个人作品集官网。
上传摄影作品、设计海报、开发案例、文案作品,页面简洁高级,支持自定义排版、首页展示、分类预览,打造专业个人IP展示页面。
4. 家庭私有日志&影像相册站
非常适合家庭使用!搭建专属家庭记录网站。
用来记录家庭日常、孩子成长日记、节日瞬间,上传家庭照片、视频素材,分类存档。全家成员可访问查看,既替代零散的手机相册,又能永久保存家庭回忆。
5. 小型团队内部文档站
工作室、小团队可免费使用,搭建内部协作文档系统。
用来存放团队规章制度、操作教程、项目文档、工作模板,支持多人浏览、权限管控,轻量化替代笨重的企业文档系统,零成本实现团队资料统一管理。
6. 资源收纳&工具导航站
利用Halo自定义页面功能,搭建个人工具导航站。
整理常用网站、工具链接、学习资源、软件安装包索引,告别杂乱的浏览器收藏夹,随时随地通过手机、电脑访问,高效整理个人数字资源。
六、最后
群晖NAS不止是数据存储盘,借助 Docker Compose 部署 Halo,让NAS快速改造为私有建站主机。自建独立博客站点,收纳生活随笔、归档学习资料、孵化个人 IP,解锁 NAS 超越存储的核心价值。


“分享”、“点赞”,给我充点儿电吧~