Docker 玩法

飞牛NAS部署Homepage:打造NAS导航门户

打开飞牛NAS的浏览器页面,你是不是也经常在Docker、文件管理、相册、影视中心这几个应用之间来回切换?每次都要在桌面图标和侧边栏里找半天,效率实在不高。今天我们要部署的 Homepage,就是来解决这个痛点的——它能把所有常用服务集中到一个漂亮的导航页面上,支持分组、状态监控,甚至还能显示Docker容器的运行状态。

Homepage 是一个颜值很高且功能强大的自托管导航页,支持 Docker 集成、服务状态检测、自定义链接和小组件(天气、时间、资源占用等)。部署好之后,你的飞牛NAS就拥有一个属于自己的门户首页,无论是自己日常使用还是分享给家人朋友,都非常方便。

前置准备

在开始之前,请确保你的飞牛NAS系统版本在 0.8.6 或以上,并且已经开启了 Docker 服务。我们依然使用 Docker Compose 来进行部署,这种方式最干净,也方便后续更新和备份。

打开飞牛NAS的「设置」-「SSH」功能,启用 SSH 服务。然后使用终端工具(如 Termius 或系统自带的终端)连接到你的NAS。连接时使用你飞牛NAS的登录用户名和密码。

创建项目目录

连接成功后,我们先创建一个专用的文件夹来存放 Homepage 的配置和数据。建议放在你的 Docker 数据目录下,比如 /vol1/docker。执行以下命令:

sudo mkdir -p /vol1/docker/homepage/config
sudo mkdir -p /vol1/docker/homepage/data
cd /vol1/docker/homepage

这里 config 目录用于存放所有配置文件,data 目录用于存放数据库等运行数据。

编写 Docker Compose 文件

homepage 目录下创建一个 docker-compose.yml 文件:

sudo nano docker-compose.yml

将以下内容粘贴进去:

services:
  homepage:
    image: ghcr.io/gethomepage/homepage:latest
    container_name: homepage
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      - PUID=1000
      - PGID=1000
      - HOMEPAGE_ALLOWED_HOSTS=nas.local  # 修改为你实际访问的域名或IP
    volumes:
      - ./config:/app/config
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data

这里有几个关键点需要说明:

ghcr.io/gethomepage/homepage:latest 是官方镜像,拉取速度可能稍慢,如果你有代理镜像源可以替换。

ports 映射到宿主机的 3000 端口,你可以改成其他端口避免冲突。

HOMEPAGE_ALLOWED_HOSTS 这个环境变量很重要,如果不设置,默认只允许 localhost 访问。你需要在这里填上你访问飞牛NAS的IP或域名,例如 192.168.1.100fnos.local。如果希望所有主机都能访问,可以设为 *

/var/run/docker.sock 挂载后,Homepage 才能读取到你的 Docker 容器列表,从而自动展示容器状态和链接。

保存并退出(按 Ctrl+X,然后按 Y,最后按 Enter)。

启动服务

执行以下命令启动容器:

sudo docker compose up -d

等待镜像拉取和容器启动。启动后,打开浏览器,访问 http://你的NASIP:3000,你应该能看到 Homepage 的默认界面了。

配置你的导航门户

默认界面是英文的,并且没有内容。我们需要编辑配置文件来添加服务和分组。配置文件位于我们刚才创建的 config 目录下。

cd /vol1/docker/homepage/config
sudo nano services.yaml

这是服务配置文件的示例。我们把飞牛NAS的常用功能都加进去:

- 飞牛NAS:
    - 文件管理:
        href: http://192.168.1.100:5666
        description: 文件存储与管理
        icon: sh-folder-open
    - 影视中心:
        href: http://192.168.1.100:5667
        description: 电影电视剧
        icon: sh-film
    - 相册:
        href: http://192.168.1.100:5668
        description: 照片备份与浏览
        icon: sh-image
    - Docker:
        href: http://192.168.1.100:9090
        description: 容器管理
        icon: sh-docker

- 常用工具:
    - Homepage:
        href: http://192.168.1.100:3000
        description: 本服务
        icon: sh-home

注意把 IP 地址换成你飞牛NAS的实际 IP。端口号是根据你飞牛NAS上这些服务实际监听的端口填写的,默认情况下飞牛NAS的文件管理是 5666,影视是 5667,相册是 5668,Docker 管理界面是 9090(如果你没改过)。

保存文件后,Homepage 会自动检测文件变化并刷新页面。

添加 Docker 容器状态监控

Homepage 最强大的功能之一就是能直接展示你所有 Docker 容器的运行状态。我们需要配置一下 docker.yaml 文件:

sudo nano docker.yaml

写入以下内容:

my-docker:
  host: unix:///var/run/docker.sock
  enable: true

保存后,回到 Homepage 页面,刷新一下,你会发现界面上多了一个“Docker”分组,里面列出了你NAS上所有正在运行的容器,并显示它们的状态(运行中/已停止)。点击容器名称还能直接跳转到对应的管理页面(如果配置了端口)。

美化与个性化设置

Homepage 支持修改主题、添加天气小组件、时钟等。编辑 settings.yaml

sudo nano settings.yaml

示例配置:

title: 我的NAS导航
theme: dark
language: zh-CN
layout:
  Home:
    - /services.yaml
    - /docker.yaml
  Tools:
    - /tools.yaml

你还可以在 widgets.yaml 中配置天气组件:

sudo nano widgets.yaml
- weather:
    label: 北京
    units: metric

保存后刷新页面,顶部就会显示北京当前天气了。

更新与维护

要更新 Homepage 到最新版本,只需在项目目录下执行:

cd /vol1/docker/homepage
sudo docker compose pull
sudo docker compose up -d

整个配置目录都在 config 文件夹里,备份时直接把这个文件夹复制走即可,迁移非常方便。

结语

通过简单的几步,你的飞牛NAS就已经拥有一个集美观与实用于一体的导航门户了。以后打开浏览器输入 NASIP:3000,所有常用功能一目了然,再也不用在多个应用图标之间来回切换。Homepage 的玩法远不止这些,你还可以配置书签分组、接入 API 密钥显示更多信息,甚至自定义 CSS 让页面完全符合你的审美。希望这篇教程能帮你把 NAS 的效率提升一个台阶。

💬 评论区
发表评论

暂无评论,来说两句吧