Docker 玩法

飞牛NAS部署 Dashy:另一个漂亮的导航页

2026-07-30 1 admin

前言

导航页是 NAS 用户常用的轻量级工具,它能把日常访问的服务、网站、工具集中到一个页面,提升操作效率。飞牛 NAS 的 Docker 生态非常成熟,今天我们来部署 Dashy——一个功能丰富、颜值在线的导航页应用。Dashy 支持自定义图标、分组、搜索、暗色模式,甚至能直接嵌入 iFrame 预览服务状态,非常适合作为家庭或办公网络的统一入口。

准备工作

在开始之前,请确保你的飞牛 NAS 满足以下条件:

  • 已安装并正常启动 Docker 和 Docker Compose(飞牛 NAS 的 Docker 套件默认支持 Compose)。
  • 拥有一个稳定的网络环境,能够拉取 Docker 镜像(如果速度慢,建议配置国内镜像加速)。
  • 计划好映射端口,Dashy 默认使用 8080 端口,建议使用未被占用的端口,例如 8088。

第一步:创建项目目录

首先,通过飞牛 NAS 的文件管理器或 SSH 终端创建一个专属目录,用于存放 Dashy 的配置文件和数据。

sudo mkdir -p /docker/dashy
cd /docker/dashy

如果你习惯使用飞牛 NAS 的图形界面,可以在“文件管理器”中导航到 /docker/ 文件夹,新建一个名为 dashy 的文件夹。

第二步:编写 docker-compose.yml

Dashy 官方推荐使用 Docker Compose 进行部署,这样便于管理和升级。在 /docker/dashy 目录下新建一个 docker-compose.yml 文件,内容如下:

version: "3.8"
services:
  dashy:
    image: lissy93/dashy:latest
    container_name: dashy
    ports:
      - "8088:80"
    volumes:
      - ./conf.yml:/app/public/conf.yml
    restart: unless-stopped
    environment:
      - NODE_ENV=production

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

  • ports 将宿主机的 8088 端口映射到容器的 80 端口。你可以根据实际情况修改左侧端口,例如改为 8090。
  • volumes 将本地的 conf.yml 挂载到容器内的 Dashy 配置目录。这样修改配置后只需重启容器即可生效,无需重建。
  • restart: unless-stopped 保证容器在 NAS 重启或异常退出后自动恢复。

第三步:创建初始配置文件

Dashy 的配置非常灵活,所有页面内容都定义在一个 YAML 文件中。在 /docker/dashy 目录下创建 conf.yml 文件,写入以下基础配置:

pageInfo:
  title: 我的导航页
  description: 飞牛NAS 常用服务入口
  navLinks:
    - title: GitHub
      path: https://github.com
    - title: 关于
      path: https://example.com/about

appConfig:
  theme: colorful
  layout: auto
  iconSize: medium
  language: zh

sections:
  - name: 常用工具
    displayData:
      sortBy: default
    items:
      - title: 飞牛NAS
        description: 系统管理后台
        icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/fnos.png
        url: http://192.168.1.100:5000
        target: newtab
      - title: 文件管理
        description: 文件管理器
        icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/folder.png
        url: http://192.168.1.100:5001
        target: newtab
      - title: Docker
        description: 容器管理
        icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/docker.png
        url: http://192.168.1.100:9090
        target: newtab

  - name: 娱乐媒体
    items:
      - title: Jellyfin
        description: 媒体服务器
        icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/jellyfin.png
        url: http://192.168.1.100:8096
        target: newtab
      - title: qBittorrent
        description: 下载工具
        icon: https://cdn.jsdelivr.net/gh/walkxcode/dashboard-icons/png/qbittorrent.png
        url: http://192.168.1.100:8080
        target: newtab

请根据你的实际网络环境和 NAS IP 地址,修改 url 中的 IP 和端口号。图标使用了流行的 dashboard-icons 项目,你可以在其 GitHub 仓库中查找更多图标。

第四步:启动 Dashy

一切就绪后,在 /docker/dashy 目录下执行以下命令启动容器:

sudo docker-compose up -d

如果一切正常,你会看到类似 Creating dashy ... done 的提示。稍等片刻,打开浏览器访问 http://你的飞牛NAS IP:8088,就能看到 Dashy 的华丽界面了。

第五步:自定义配置详解

Dashy 的魅力在于高度可定制。下面介绍几个常用的配置技巧,让你的导航页更实用、更美观。

修改主题和布局

conf.ymlappConfig 部分,你可以调整以下参数:

  • theme: 可选 default, colorful, dark, light, glass, minimal 等。colorful 适合凸显图标,glass 是毛玻璃效果。
  • layout: 可选 auto, horizontal, verticalauto 会根据屏幕自动调整。
  • iconSize: 可选 small, medium, large
  • language: 设置为 zh 可启用中文界面。

添加分组和排序

sections 下的每个分组可以自定义名称和排序。如果你想指定某个分组内的图标顺序,可以设置 sortBy: custom,然后在每个 itemsorder 字段中指定数字。

sections:
  - name: 开发工具
    displayData:
      sortBy: custom
    items:
      - title: Portainer
        order: 1
        ...
      - title: VS Code Server
        order: 2
        ...

使用在线图标和本地图标

Dashy 支持图标 URL,你也可以使用 Font Awesome 或 Material Design 图标。例如,将图标改为 Font Awesome 的图标:

icon: fas fa-server

或者使用本地图片路径(需挂载到容器内):

icon: /assets/custom-logo.png

添加服务状态检测

Dashy 可以轮询服务的可用性,并在图标上显示状态指示灯。只需在 items 中添加 statusCheck: true 即可:

- title: 文件管理
  url: http://192.168.1.100:5001
  statusCheck: true
  statusCheckInterval: 60

这样,Dashy 会每 60 秒检查一次该服务是否在线,在线则显示绿色圆点,离线则显示红色。

第六步:更新和备份

Dashy 的配置全部保存在 conf.yml 中,备份只需复制这个文件。更新时,执行以下命令即可:

sudo docker-compose pull
sudo docker-compose up -d

如果配置有变化,重启容器即可生效:

sudo docker-compose restart

常见问题

页面加载缓慢或图标不显示:检查网络是否能够访问 jsdelivr CDN。如果不行,可以将图标改为本地资源或换用其他 CDN。

无法访问 Dashy 页面:检查防火墙是否开放了映射端口,以及 Docker 容器是否正常运行。使用 sudo docker ps 查看容器状态。

配置修改后未生效:确认 conf.yml 文件格式正确(YAML 对缩进敏感),然后重启容器。

总结

Dashy 是一个轻量、美观且功能强大的导航页工具,通过飞牛 NAS 的 Docker Compose 部署,只需几分钟就能搭建出一个专属于你的服务入口。从分组管理到状态检测,从主题自定义到图标替换,Dashy 几乎能满足你对导航页的所有想象。现在就去配置你的第一个导航页,把飞牛 NAS 上的服务管理得井井有条吧。