新浪新闻客户端

自组NAS必备——导航页Homepage

自组NAS必备——导航页Homepage
2024年01月08日 11:46 新浪网 作者
avatar
什么值得买

  作者:LifeIsKillingMe

  自组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等,有待大家去发掘。

特别声明:以上文章内容仅代表作者本人观点,不代表新浪网观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与新浪网联系。
NASdocker
来自于:北京
权利保护声明页/Notice to Right Holders

举报邮箱:jubao@vip.sina.com

Copyright © 1996-2026 SINA Corporation

All Rights Reserved 新浪公司 版权所有