Dashy 自托管系统部署指南:TrueNAS、Proxmox、Unraid、Synology、NixOS 与 Kubernetes 实操
2026/9/10 20:00:43 网站建设 项目流程

Dashy 自托管系统部署指南:TrueNAS、Proxmox、Unraid、Synology、NixOS 与 Kubernetes 实操

【免费下载链接】dashy🚀 A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more!项目地址: https://gitcode.com/GitHub_Trending/da/dashy

Dashy 是一个自托管的个人仪表盘,官方推荐以 Docker 容器方式运行。除了通用的 Docker/裸机方案,Dashy 社区维护了针对多种 NAS 系统与 Linux 发行版的部署脚本和应用模板,让没有 Docker CLI 经验的用户也能轻松落地。本文以 docs/deployment/self-hosted-os.md 为主干,逐项讲解在 TrueNAS SCALE、Proxmox VE、Unraid、Synology NAS、NixOS 与 Kubernetes 上部署 Dashy 的具体步骤,并结合 Dockerfile、docker-compose.yml 与 services/app.js 等源码,说明镜像端口、/app/user-data挂载与内置健康检查的底层机制,读完即可在自家设备上跑起可用的个人面板。

说明:下列第三方应用与脚本均由社区维护,并非 Dashy 官方出品,也不隶属于 Dashy 或对应设备厂商。若在其中遇到问题,请先在近期版本的 Dashy(4.x.x 及以上)上复现,再向对应维护方反馈。


部署前的统一认知:镜像端口与数据目录

无论使用哪种自托管方式,底层都是同一套镜像约定,理解这两点可以避免绝大多数配置错误:

  • 容器端口固定为8080:镜像在 Dockerfile 中通过环境变量PORT=8080HOST=0.0.0.0固定了服务监听地址;宿主机的任意端口只需映射到容器 8080 即可。
  • 配置与静态资源目录为/app/user-data:该目录必须包含一个conf.yml(Dashy 的主配置文件),也可以放置多页面配置、图标、字体、自定义 CSS 等资源。services/app.js会将此目录作为静态根目录对外提供服务(services/app.js),因此目录内任意文件都会以/<文件名>的形式暴露在 Web 根路径。

[!CAUTION] 若把配置目录挂载为卷,必须保证卷内存在conf.yml,否则应用无法正常读取配置。仓库自带的 user-data/conf.yml 是一份可直接使用的示例配置。

此外,镜像内置健康检查:HEALTHCHECK每 5 分钟调用一次node services/healthcheck.js(见 Dockerfile),该脚本会向/healthz端点发起 GET 请求,返回 200 则退出码为 0、否则为 1(services/healthcheck.js)。后续各平台部署时应尽量保留这一能力。


TrueNAS SCALE

Dashy 已收录进 TrueNAS 的社区应用目录(Community Apps):

  1. 进入Apps>Discover Apps
  2. 搜索 “Dashy”;
  3. 点击Install
  4. 设置 Web 端口,并为/app/user-data添加一个 host-path 类型的存储卷,把宿主机的某个目录挂载进去存放conf.yml

[!NOTE] 更早的 TrueNAS 用户也可能通过 TrueCharts 找到 Dashy。不过 TrueCharts 已不再与 TrueNAS 深度集成,其 chart 可能停留在旧版本,新部署建议优先使用官方社区目录中的条目。


Proxmox VE

社区维护的 Proxmox VE Helper-Scripts 项目提供了一键脚本,可以在 Proxmox 宿主机的 shell 中为 Dashy 创建独立的 LXC 容器:

bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/ct/dashy.sh)"

该脚本会预置容器的资源、网络与 Dashy 运行环境。由于脚本完全由社区维护(与 Proxmox 官方、Dashy 官方均无隶属关系),执行前建议先阅读其脚本页面上的可选项与说明,确认资源配额、网络模式是否符合你的网络拓扑,再决定是否运行。

[!TIP] 脚本创建的 LXC 容器本质上仍是在容器内部运行 Dashy 的 Node 服务。若你想自行控制,可跳过脚本,直接在 LXC 内参考 docs/deployment/bare-metal.md 从源码构建,或用 Docker-in-LXC 的方式拉取官方镜像。


Unraid

通过 Community Applications 安装

Dashy 可通过 Unraid 的Community Applications插件一键安装:

  1. 安装并打开 Community Applications 插件;
  2. Apps标签页搜索 “Dashy”;
  3. 从搜索结果中安装即可。模板已为你预填好 Docker 镜像、端口映射与卷路径,无需手工指定。

手动添加容器

如果你更希望手动控制每一项配置,可进入Docker>Add Container

  • Repository:填入lissy93/dashy:latest
  • Port Map:将宿主端口映射到容器端口8080
  • Path Map:把宿主机存放conf.yml的目录映射到/app/user-data

[!NOTE] Unraid 模板底层调用的是标准的docker run,端口与卷的语义与 docs/deployment/docker.md 完全一致,只是通过 UI 替你填写参数。


Synology NAS

在 DSM 7.2 及更高版本中,Docker 由Container Manager套件提供,以下步骤基于此版本:

  1. 套件中心(Package Center)安装Container Manager
  2. File Station中创建存放 Dashy 配置的文件夹(例如docker/dashy),并把你的conf.yml(以及任何图标/静态资源)放进去;
  3. 打开 Container Manager 的注册表(Registry),搜索lissy93/dashy,下载latest标签;
  4. 容器(Container)>新增(Create)中选择该镜像:
    • 勾选自动重启(auto-restart)
    • 将宿主机端口(例如4000)映射到容器端口8080
    • docker/dashy文件夹挂载到/app/user-data

部署完成后,Dashy 通常在一两分钟内即可通过你选择的端口访问。

备选:使用 Compose 项目或 SSH

若希望以声明式文件管理整个部署,可利用 Container Manager 的项目(Project)功能,直接使用仓库根目录的 docker-compose.yml 作为编排文件;或直接在 SSH 终端中运行:

docker run -d \ -p 4000:8080 \ -v /volume1/docker/dashy:/app/user-data \ --name dashy \ --restart=always \ lissy93/dashy:latest

命令中各参数含义如下:

  • -d:后台分离模式运行,不占用终端;
  • -p 4000:8080:将宿主机4000端口映射到容器8080端口,8080必须保持不变;
  • -v /volume1/docker/dashy:/app/user-data:把宿主机docker/dashy目录挂载到容器内的/app/user-data,用于存放conf.yml与资源;
  • --name dashy:为容器指定便于识别的名称;
  • --restart=always:在 Docker 守护进程启动或容器停止后自动重启容器;
  • lissy93/dashy:latest:要运行的镜像,可按需替换为特定版本标签(如4.x)。

[!TIP] 镜像默认以node用户(uid 1000)运行。若你在 Synology 上挂载的目录属主不是该 uid,可能出现写权限错误,可通过chown调整属主,或用--user "$(id -u):$(id -g)"显式指定用户。更详细说明参见 docs/deployment/docker.md 的 Notes 部分。


NixOS

Dashy 已被打包进 nixpkgs,软件包名称为dashy-ui,同时 NixOS 官方提供了services.dashy模块。在 NixOS 配置中启用:

services.dashy.enable = true;

[!IMPORTANT] 该 nixpkgs 包构建的是 Dashy 的静态前端应用,因此仅面向浏览器的功能可用,而依赖 Node 服务端的能力不可用,例如状态检查(status-check)、通过 UI 保存配置等。这与完整镜像(Dockerfile 中内置了 services/app.js 的 Express 服务端路由)存在差异。

端口与配置文件路径等具体参数,可在 NixOS 的services.dashy模块选项(search.nixos.org/options?query=services.dashy)中查询并覆盖。

[!NOTE] 如果你在 NixOS 上需要完整的服务端功能,可改用 Docker/Podman 运行官方镜像,或在 Nix 环境内参照 docs/deployment/bare-metal.md 从源码启动 Node 服务。


Kubernetes

[!CAUTION] 以下集成方案可能需要重新审查,以确保它使用或兼容 Dashy 4+ 的镜像与 API。

Dashy 可借助社区 Helm chart 部署到 Kubernetes 集群。以下命令使用由 @vyrtualsynthese 维护的 selfhosted-helmcharts 仓库:

# 添加 self-hosted 仓库 helm repo add self-hosted https://vyrtualsynthese.github.io/selfhosted-helmcharts/ helm repo update # 安装 dashy chart helm install [RELEASE_NAME] self-hosted/dashy

[RELEASE_NAME]替换为你自己的 release 名称即可。除了该仓库,TrueCharts 也发布了一份 Dashy Helm chart,面向 Kubernetes 与 TrueNAS SCALE 用户。

[!TIP] 在 Kubernetes 上部署时,务必通过 chart 的 values 为容器端口8080配置 Service,并为/app/user-data配置持久化卷(PV/PVC),存放conf.yml与图标资源。同时建议启用镜像自带/healthz健康检查作为 Pod 的 liveness/readiness probe,其实现可参考 services/healthcheck.js 与 services/app.js。


不同方案的取舍小结

平台部署形态是否含 Node 服务端完整能力备注
TrueNAS SCALE社区应用是(运行完整镜像)在 UI 中配置端口与/app/user-data
Proxmox VELXC 容器脚本是(脚本内置镜像/构建)脚本为社区维护,运行前先阅读
Unraid容器模板 / 手动docker run是(lissy93/dashy:latest模板自动预填镜像、端口、卷
Synology NASContainer Manager UI / Compose / SSH是(完整镜像)挂载/app/user-data保存配置
NixOSnixpkgs 静态应用(仅静态前端)无状态检查、无 UI 保存配置
KubernetesHelm chart是(完整镜像)需要 Service 与持久化卷

所有基于完整镜像的方案共用同一套约定:容器端口8080、配置目录/app/user-data、内置/healthz健康检查。你在某个平台上写好的conf.yml与图标资源,可直接迁移到另一个平台使用,这也是 Dashy 采用统一镜像分发带来的最大便利。


延伸阅读

  • 通用 Docker / Docker Compose / Podman 部署:docs/deployment/docker.md
  • 不使用容器、直接构建运行的裸机方案:docs/deployment/bare-metal.md
  • 其他自托管平台(Portainer、Coolify、1Panel、Runtipi 等):docs/deployment/self-hosted-platforms.md
  • 容器部署后的安全、更新、备份与自动启动:docs/management.md
  • 首次启动后的配置文件编写与校验:docs/quick-start.md、docs/configuring.md

【免费下载链接】dashy🚀 A self-hostable personal dashboard built for you. Includes status-checking, widgets, themes, icon packs, a UI editor and tons more!项目地址: https://gitcode.com/GitHub_Trending/da/dashy

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询