自组NAS必备——导航页Homepage
自组NAS最大的乐趣就是安装各种Docker(容器)了,之前在Rock 5B上利用各种Docker搭建了一整套豆瓣自动追剧系统,花了不少时间,但是最终实现了想要的功能,还是颇有成就感的。
不过好景不长,在清理日志释放空间的时候,错误的修改了系统权限,导致系统崩溃,SSH也无法正常使用。于是,又花了更长的时间重装系统,还给外接的SATA存储扩充到8T空间。
这次意外让我意识到了NAS日常维护的重要性,自组NAS因为都是自己搭建,系统比较复杂。之前管理运行的众多Docker都是依靠Portainer,各个容器一般IP地址都是一个,只是以不同访问的端口区分,平时记忆颇有不便。
本来想自己用Apache做个简单的Web Server,把这些容器的访问地址以链接的形式放到主页上。后来在G站浏览了一下,已经有不少大佬开发了不少类似的项目,并且分享了出来。这里就推荐一个比较容易上手的,名字就叫做Homepage。这是一个现代的、完全静态的、快速的、安全的、完全代理的、高度可定制的应用程序仪表板,集成了100多种服务,支持多种语言。可以通过 YAML 文件或 docker 标签发现轻松配置。
Homepage的安装
Homepage本身也是一个Docker,安装方法和其他容器差不多。
使用 docker compose:
version: "3.3"
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
environment:
PUID: 1000
PGID: 1000
ports:
- 3000:3000
volumes:
- /path/to/config:/app/config # 本地配置路径
- /var/run/docker.sock:/var/run/docker.sock:ro # 可选,用于集成Docker
restart: unless-stopped
或者 docker run:
docker run --name homepage
-e PUID=1000
-e PGID=1000
-p 3000:3000
-v /path/to/config:/app/config
-v /var/run/docker.sock:/var/run/docker.sock:ro
--restart unless-stopped
ghcr.io/gethomepage/homepage:latest
当然你也可以用用git的方法直接部署项目,这里就不赘述了。
安装完成后,即可浏览器打开默认的3000端口,访问导航页。下图中我在配置里做了端口映射到3333端口,相应的访问时也要改成对应端口。
为了便于理解,我将默认起始页用绿框分成了三个部分,分别是Widget(小工具)、Service(服务)和Bookmarks(书签)。
相应地,这三个部分有独立的YAML配置文件来控制。配置文件为homepageconfig文件夹下的widgets.yaml,services.yaml和bookmarks.yaml。
用你喜欢的文本编辑软件打开yaml文件,我这里使用的是Notepad++。
Homepage Service的配置
services.yaml默认设置里将服务分成了三个组,每个组可以包含数个不同的服务(Docker)。
我这里将第一个组重命名为Media Servers,然后添加了第一个服务Radarr。
icon:在导航页中服务显示的图标,作者已经将常用的Docker服务都集成到了项目中,我们直接输入radarr.png即会自动显示radarr的图标。
href: Docker服务的访问地址,实例中访问192.168.1.66的7878端口。
siteMonitor: 加入这一字段即可在导航页中显示访问站点的运行情况,默认会显示站点的ping值。你也可以使用statusStyle来自定义显示,比如标注"dot",如果站点可正常访问,就会显示为一个绿点。
description:服务的描述说明。
除了这些基本的信息,我还希望在起始页上显示服务的一些详细信息,比如Radarr监控了多少电影,有多少在下载等等。那么就需要利用Service Widget调用服务的API了。
Radarr的API可以在Settings->General->API Key里获取,然后将这串数值填到配置文件的字段中。
保存配置文件,刷新网页,显示效果如下:
还有一些服务是通过账号密码来访问详细信息的,比如Qbittorrent。
对于Emby甚至直接可以在页面中直接控制媒体播放。
其他服务的配置文件格式可以参见Widgets - homepage (gethomepage.dev)。
Homepage Widget的配置
默认的Widget会显示系统资源消耗情况,还有一个duckduckgo搜索栏。
当然我们也可以根据需求自定义,比如我这里就将搜索引擎改成了Google,并且在搜索栏右侧调用openmeteo服务显示当前天气。
最后显示效果如下:
Homepage Bookmark的配置
我们还可以在页面底部加入经常访问网址的链接,这一部分比较简单。
至此最后显示效果如下:
这里仅仅是展示了一些基本功能,其实Homepage的功能非常强大,还可以自动发现Docker,管理Kubernetes等,有待大家去发掘。
张大妈老公公
校验提示文案
flying_dog
校验提示文案
V怪客
校验提示文案
苹果大爷
校验提示文案
Aresgo
校验提示文案
andy1017
校验提示文案
哆喵呜
校验提示文案
弗老大
校验提示文案
巴伐利亚南大王
校验提示文案
fengpan584
校验提示文案
疯爆银熊
校验提示文案
风吹pp凉嗖嗖
校验提示文案
中号硬核玩家
校验提示文案
timespace
校验提示文案
xjcx
校验提示文案
V怪客
校验提示文案
xjcx
校验提示文案
timespace
校验提示文案
flying_dog
校验提示文案
中号硬核玩家
校验提示文案
风吹pp凉嗖嗖
校验提示文案
疯爆银熊
校验提示文案
fengpan584
校验提示文案
巴伐利亚南大王
校验提示文案
弗老大
校验提示文案
哆喵呜
校验提示文案
张大妈老公公
校验提示文案
andy1017
校验提示文案
Aresgo
校验提示文案
苹果大爷
校验提示文案