十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

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

Dashy 自托管系统部署指南:TrueNAS、Proxmox、Unraid、Synology、NixOS 与 Kubernetes 实操 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/dashyDashy 是一个自托管的个人仪表盘官方推荐以 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 或对应设备厂商。若在其中遇到问题请先在近期版本的 Dashy4.x.x 及以上上复现再向对应维护方反馈。部署前的统一认知镜像端口与数据目录无论使用哪种自托管方式底层都是同一套镜像约定理解这两点可以避免绝大多数配置错误容器端口固定为8080镜像在 Dockerfile 中通过环境变量PORT8080、HOST0.0.0.0固定了服务监听地址宿主机的任意端口只需映射到容器 8080 即可。配置与静态资源目录为/app/user-data该目录必须包含一个conf.ymlDashy 的主配置文件也可以放置多页面配置、图标、字体、自定义 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、否则为 1services/healthcheck.js。后续各平台部署时应尽量保留这一能力。TrueNAS SCALEDashy 已收录进 TrueNAS 的社区应用目录Community Apps进入AppsDiscover Apps搜索 “Dashy”点击Install设置 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插件一键安装安装并打开 Community Applications 插件在Apps标签页搜索 “Dashy”从搜索结果中安装即可。模板已为你预填好 Docker 镜像、端口映射与卷路径无需手工指定。手动添加容器如果你更希望手动控制每一项配置可进入DockerAdd ContainerRepository填入lissy93/dashy:latestPort Map将宿主端口映射到容器端口8080Path Map把宿主机存放conf.yml的目录映射到/app/user-data。[!NOTE] Unraid 模板底层调用的是标准的docker run端口与卷的语义与 docs/deployment/docker.md 完全一致只是通过 UI 替你填写参数。Synology NAS在 DSM 7.2 及更高版本中Docker 由Container Manager套件提供以下步骤基于此版本在套件中心Package Center安装Container Manager在File Station中创建存放 Dashy 配置的文件夹例如docker/dashy并把你的conf.yml以及任何图标/静态资源放进去打开 Container Manager 的注册表Registry搜索lissy93/dashy下载latest标签在容器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 \ --restartalways \ 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为容器指定便于识别的名称--restartalways在 Docker 守护进程启动或容器停止后自动重启容器lissy93/dashy:latest要运行的镜像可按需替换为特定版本标签如4.x。[!TIP] 镜像默认以node用户uid 1000运行。若你在 Synology 上挂载的目录属主不是该 uid可能出现写权限错误可通过chown调整属主或用--user $(id -u):$(id -g)显式指定用户。更详细说明参见 docs/deployment/docker.md 的 Notes 部分。NixOSDashy 已被打包进 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?queryservices.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),仅供参考
返回列表