飞牛NAS部署Homepage:打造NAS导航门户
打开浏览器输入 192.168.x.x:3000,看到那个简洁到近乎冷淡的界面时,你可能会怀疑自己是不是漏了什么步骤。别急,这就是 Homepage 的魅力所在——它把“导航”这件事做到了极致简单,而真正的魔法,藏在后续的配置里。今天我们就来聊聊,如何在飞牛NAS上把这个漂亮的门户网站跑起来,并让它成为你访问所有服务的起点。
为什么是 Homepage 而不是别的导航页
市面上的导航工具不少,比如 Heimdall、Dashy,但 Homepage 有几个独特优势:它原生支持 Docker 服务发现,能自动读取你 NAS 上运行的其他容器状态;内置了多种小部件(天气、系统监控、搜索框);最重要的是,它的配置基于 YAML 文件,意味着你可以用 Git 版本管理,随时回滚。对于飞牛NAS这类基于 Debian 的系统,Docker 部署是天然适配的方案。
准备工作:确认你的飞牛NAS环境
开始之前,请确保你的飞牛NAS已经开启 Docker 服务。进入 飞牛OS 的「应用中心」,安装 Docker 应用。如果你之前没装过,这个过程很简单:点击安装,等待完成即可。同时,建议开启 SSH 功能(在「控制面板」-「终端」里勾选),因为后面我们可能需要修改一些文件权限。
第一步:拉取镜像并创建容器
我们直接使用 docker run 命令,一步到位。SSH 登录你的飞牛NAS,或者直接在飞牛OS的「终端」应用里输入:
docker run -d \
--name homepage \
-p 3000:3000 \
-v /vol1/docker/homepage:/app/config \
-v /var/run/docker.sock:/var/run/docker.sock \
--restart unless-stopped \
ghcr.io/gethomepage/homepage:latest
这里简单解释一下参数含义。-p 3000:3000 将容器的 3000 端口映射到宿主机,这样你就能通过 飞牛NAS 的 IP 加 3000 端口访问了。-v /vol1/docker/homepage:/app/config 是配置目录映射,我们把配置放在 NAS 的 /vol1/docker/homepage 下,方便备份和编辑。最后一行 -v /var/run/docker.sock 是关键,它允许 Homepage 读取 Docker 套接字,从而实现服务自动发现。如果你对安全性有顾虑,可以省略这一行,但那样就需要手动添加每个服务,比较麻烦。
等待几十秒拉取镜像,然后访问 http://你的飞牛IP:3000。如果看到默认的空白界面,恭喜,容器已经跑起来了。
第二步:配置基础信息
现在我们要让这个空白页面有内容。先进入配置目录:
cd /vol1/docker/homepage
ls -la
你会看到几个示例文件,比如 settings.yaml、services.yaml、bookmarks.yaml。我们首先编辑 settings.yaml,用 nano 或 vim 都可以:
nano settings.yaml
写入以下内容:
title: 我的NAS导航
base: /
language: zh-CN
theme: dark
这里 language: zh-CN 会让界面变成中文,theme: dark 是深色模式,喜欢亮色的可以改成 light。保存退出。
第三步:添加服务组和图标
接下来是核心的 services.yaml。这个文件决定了你导航页上显示哪些应用。我们以飞牛NAS常见的几个服务为例:
nano services.yaml
写入:
- 我的服务:
- 飞牛OS管理:
href: http://192.168.1.100:5666
description: NAS系统设置
icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/fnos.png
- Jellyfin 媒体中心:
href: http://192.168.1.100:8096
description: 电影电视
icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png
- qBittorrent 下载:
href: http://192.168.1.100:8080
description: BT下载
icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/qbittorrent.png
注意把 IP 换成你飞牛NAS的实际地址。icon 字段使用 CDN 图标链接,这样不用本地存储图片。如果你有自定义图标,也可以放在 /vol1/docker/homepage/images 目录,然后引用相对路径。
保存后,刷新浏览器页面。你会看到三个卡片整齐排列,点击就能跳转。如果你想让服务自动显示 CPU 或内存占用,可以在每个服务下添加 widget 字段,比如:
- Jellyfin 媒体中心:
href: http://192.168.1.100:8096
description: 电影电视
icon: https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png
widget:
type: jellyfin
url: http://192.168.1.100:8096
key: 你的API密钥
不过这个需要 Jellyfin 开启 API,新手可以先跳过。
第四步:添加书签和搜索栏
在 bookmarks.yaml 里,可以放一些常用网站链接。编辑它:
nano bookmarks.yaml
写入:
- 常用工具:
- 百度:
- 搜索:
href: https://www.baidu.com
icon: https://www.google.com/s2/favicons?domain=baidu.com
- GitHub:
- 代码仓库:
href: https://github.com
icon: https://www.google.com/s2/favicons?domain=github.com
这里用 favicon 服务自动获取网站图标,比较省事。保存后,页面上方会出现书签栏。
至于搜索栏,Homepage 默认自带一个搜索框,你可以在 settings.yaml 里配置搜索引擎:
search:
provider: google
target: _blank
第五步:使用 Docker 自动发现
如果你希望 Homepage 自动列出所有正在运行的 Docker 容器,而不必手动一个个写,可以在 services.yaml 里加一个特殊分组:
- Docker 容器:
- Docker:
icon: docker
href: http://192.168.1.100:3000
description: 所有容器状态
widget:
type: docker
url: http://192.168.1.100:2375
不过要启用这个,需要修改 Docker 守护进程配置,暴露 API 端口。在飞牛NAS上,这稍微有点风险,建议还是手动维护服务列表,更稳定也更安全。
小技巧:让图标更美观
你可能会发现某些服务的图标没有正确显示。这时可以手动下载图标到本地:
mkdir -p /vol1/docker/homepage/images
cd /vol1/docker/homepage/images
wget https://cdn.jsdelivr.net/gh/homarr-labs/dashboard-icons/png/jellyfin.png
然后在 services.yaml 里改成 icon: /images/jellyfin.png 即可。
遇到问题怎么办
常见问题之一是端口冲突。如果 3000 被占用,可以换一个,比如 -p 8088:3000。另外,如果配置修改后页面没变化,检查一下 YAML 缩进是否正确,Homepage 对格式要求很严格,一个多余的空格都会导致解析失败。你可以在浏览器按 F12 打开控制台,看有没有报错信息。
总结
至此,你的飞牛NAS上已经跑起了一个属于自己的导航门户。Homepage 的价值不在于它多花哨,而在于它把日常高频操作浓缩到一个页面——不用再记端口、不用翻收藏夹,打开浏览器就是熟悉的界面。后续你还可以慢慢研究它的天气组件、自定义 CSS、甚至接入 Home Assistant 智能家居控制。随着你部署的 Docker 应用越来越多,这个门户会越来越成为你离不开的入口。现在,去把常用服务都加进去吧,享受那种一切尽在掌握的感觉。
暂无评论,来说两句吧