关于 Dashy
Dashy 是面向 homelab 用户的可自托管首页仪表盘,可在一个可配置界面汇集应用链接、服务信息和主机状态。它支持通过 YAML 或界面配置,并提供多种视图及布局、主题定制。
主要功能
- 01多页面与替代视图
- 02应用和主机状态检查
- 03展示自托管服务的组件
- 04即时搜索与键盘快捷键
- 05YAML 和界面配置编辑器
- 06主题、图标与身份验证选项
适用场景
- 01创建 homelab 服务首页
- 02检查应用和主机是否可用
- 03按名称或标签查找并启动应用
- 04展示自托管服务的信息
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
原文在翻译后有更新,译文可能不是最新。
Dashy
面向可自托管用户,定制自由度最高的仪表盘
Dashy 是你家庭实验室的主页
用户展示 | 在线演示 | 入门指南 | 文档 | GitHub
特别鸣谢赞助商
|
SSD Nodes 为可自托管用户提供实惠的 VPS 主机 |
![]() Umbrel 用于自托管的个人家庭云和操作系统 |
![]() TestMu AI 全栈式 Agentic AI 质量工程平台 |
目录
演示 ⚡
截图:查看展示集,了解社区成员创建的示例仪表板
亲自试用:docker run -p 8080:8080 lissy93/dashy
快速入门 🚀
完整的设置说明请参阅:部署
从 Docker Hub 部署 🐳
你需要在系统上安装 Docker
docker run -p 4000:8080 lissy93/dashy
或者
docker run -d \
-p 4000:8080 \
-v /path/to/your/user-data:/app/user-data \
--name my-dashboard \
--restart=always \
lissy93/dashy:latest
如需使用 compose,请参阅示例 docker-compose.yml。
挂载的 /app/user-data 目录必须至少包含一个 conf.yml。
其中也可以存放子配置文件、项目图标、字体、自定义 CSS,或任何你希望从 Web 根目录提供的内容。
Dashy 同时通过 DockerHub(lissy93/dashy)和 GHCR(ghcr.io/lissy93/dashy)发布。
你可以使用 :latest,也可以固定到特定版本(例如 4.0.0)。
所有镜像均为多架构镜像(支持 amd64 和 arm64)。
Dashy 运行后,请参阅文档,了解配置参考和使用指南。
从源代码部署 🔨
你需要安装最新的 Node LTS,并启用 git 和 yarn。
- 克隆仓库:
git clone https://github.com/Lissy93/dashy.git,然后运行cd dashy - 配置:在
./user-data/conf.yml中填写设置 - 安装依赖:
yarn - 构建:
yarn build - 运行:
yarn start
请参阅文档:Dashy 命令完整列表
部署到云端 ☁️
Dashy 支持在多个热门云平台上进行一键部署。只需点击下方链接,即可启动新实例:
如需了解更多一键云端部署选项,请参阅云端部署
配置 🔧
完整的配置文档请参阅:配置
Dashy 通过 YAML 文件进行配置,文件位于 ./user-data/conf.yml。此外,你可以在配置文档中找到所有可用选项的完整列表。你也可以直接通过 UI 编辑并保存配置。
主题 🎨
完整的主题文档请参阅:主题
Dashy 预先内置了多个主题,你可以通过 UI 预览、应用和编辑这些主题。借助主题配置器和对自定义 CSS 的支持,你可以轻松打造外观独特的仪表盘。
图标 🧸
完整的图标文档请参阅:图标
每个分区和项目都可以通过 icon 属性设置关联图标。支持多种不同的图标包,你可以为任何应用或服务找到合适的缩略图。
支持以下图标类型:
- Favicon - 自动从应用的 Favicon 或徽标图片获取图标
- 图标包 - 使用 font-awesome、simple-icons、selfh.st/icons 或 material icons 中的任意图标
- 表情符号 - 可使用任何有效的表情符号作为图标
- 生成式图标 - 独特的自动生成图片,便于识别服务
- URL - 传入任意有效图片的 URL,以获取并显示该图片
- 本地 - 将自定义图片存储在本地,并通过文件名引用
- Homelab 图标 - 使用 dashboard-icons 获取常见可自托管服务的徽标
状态指示器 🚦
完整的监控文档请参阅:状态指示器
Dashy 提供两项可选功能,用于检查各个应用/服务或主机是否正常运行并响应,然后显示一个小型状态指示器图标。将鼠标悬停在图标上,即可查看响应时间和状态码等更多信息。
应用/服务状态通过调用一个 URL 并分析其 HTTP 响应码来检查。主机状态则通过向主机发送实际的 ICMP ping 请求来检查。同一项目可以同时进行这两项检查。此时会显示两个状态指示器,并根据每项功能的全局设置和项目设置独立运行。
可以通过设置 appConfig.statusCheck: true 全局启用应用/服务状态检查,通过设置 appConfig.pingCheck: true 全局启用主机状态检查;也可以针对每个项目单独启用或禁用。页面加载时会检查状态;你也可以在 appConfig.statusCheckInterval 和 appConfig.pingCheckInterval 下指定两次检查之间的间隔(以秒为单位),以启用持续轮询。你还可以使用其他端点检查应用/服务状态,只需设置 statusCheckUrl;如有需要,可在 statusCheckHeaders 下传入自定义请求头。
小组件 📊
完整的小组件文档请参阅:小组件
你可以通过小组件的形式显示服务中的动态内容。我们提供了多个预构建的小组件,可用于展示实用信息并集成常见的可自托管服务;你也可以轻松为几乎任何应用创建自己的小组件。
身份验证 🔐
完整的身份验证文档请参阅:身份验证
Dashy 全面支持使用 Keycloak 实现安全的单点登录,提供安全、便捷的身份验证。如需完整的使用指南,请参阅设置文档。
此外还提供基本身份验证功能,无需额外设置即可使用。要启用此功能,请在 appConfig 下添加 auth 属性,其中包含一个 users 数组;每个用户都应包含用户名、经过 SHA-256 哈希处理的密码,以及可选的用户类型。基本身份验证还支持多种访问控制功能,包括只读访客访问权限和精细化控制。
appConfig:
auth:
users:
- user: alicia
hash: 4D1E58C90B3B94BCAD9848ECCACD6D2A8C9FBC5CA913304BBA5CDEAB36FEEFA3
type: admin
此外还支持其他访问控制系统,请参阅替代身份验证方法文档。
备用视图 👓
除了默认主页外,还提供:
- 最简视图,可用作浏览器起始页
- 工作区视图,适合同时访问多个应用
你可以通过界面右上角的切换图标更改视图,也可以在配置中的 appConfig.startingView 属性下选择默认视图。
工作区视图示例
最简视图示例
打开方式 🖱️
有关视图和打开方式的完整文档,请参阅:备用视图
你可以通过多种方式启动应用。你可以在 target 属性下为任意项目指定默认打开方式,也可以在 appConfig.defaultOpeningMethod 下设置全站默认方式。右键点击项目可查看所有选项。支持以下选项:
sametab- 在当前标签页中启动应用newtab- 在新标签页中启动应用(也可使用 Ctrl + 点击)modal- 在当前页面中以可调整大小和位置的弹出模态窗口启动应用(也可使用 Alt + 点击)workspace- 切换到工作区视图并启动应用clipboard- 将应用的 URL 复制到系统剪贴板top- 在最顶层的浏览上下文中打开,适用于通过 iframe 访问 Dashy 的情况
搜索和快捷键 🔎
有关搜索的完整文档,请参阅:搜索和快捷键
快速查找并启动应用是 Dashy 的主要目标。因此,Dashy 内置了即时搜索和可自定义的键盘快捷键。
要开始筛选,只需开始输入——无需选择搜索栏或使用任何特殊按键。然后使用 Tab 键或方向键选择结果并在结果间移动,按 Enter 键即可启动当前选中的应用。
对于经常使用的应用,可以设置自定义按键绑定。在某个项目上使用 hotkey 参数,指定 0 - 9 之间的数字键。之后,只需按下该键即可启动相应应用。
你还可以为指定项目添加自定义标签,以便根据关键字更轻松地找到它们。例如,在以下示例中,搜索“Movies”会显示“Plex”。
items:
- title: Plex
hotkey: 8
icon: favicon
description: Media library
url: https://plex.lab.local
tags: [ movies, videos, music ]
要直接通过 Dashy 搜索网页,只需在输入查询内容后按 Enter 键。网页搜索选项在 appConfig.webSearch 下设置。Dashy 内置支持 10+ 种搜索引擎,也可以使用自定义提供方或可自托管的实例。使用网页搜索时,你还可以设置 bangs:当查询内容前加上特定字符序列(通常以 /、! 或 : 开头)时,将搜索结果重定向到指定的应用、网站或搜索引擎。
webSearch:
searchEngine: duckduckgo
openingMethod: newtab
searchBangs:
/r: reddit
/w: wikipedia
/s: https://whoogle.local/search?q=
':wolf': wolframalpha
':so': stackoverflow
':git': github
随时按 Esc,即可关闭打开的应用、清空搜索栏或隐藏任何模态窗口。
配置编辑器 ⚙️
有关配置的完整文档,请参阅:配置
除了传入 YAML 配置文件,你还可以直接通过 UI 配置应用,并实时预览更改。
要编辑任何分区或项目,请右键单击它并选择“编辑”,或进入编辑模式(使用右上角的钢笔图标),然后单击页面上的任意部分进行编辑。更改会立即显示,但只有单击“保存到磁盘”或“在本地保存”后才会保存。
在配置菜单下,你可以导出、查看、备份或重置应用配置,还可以在文本编辑器中编辑原始配置文件,并使用内置的架构验证功能。建议保留一份配置备份。
云备份与同步 ☁
有关备份的完整文档,请参阅:云备份与同步
Dashy 内置了可选功能,可将配置安全地备份到托管云服务,然后在另一个实例上恢复。这不仅有助于将配置备份到异地,还能让你无需编写 YAML 配置文件即可使用 Dashy。
所有数据在发送到后端之前都会进行完整的端到端加密(在 CloudBackup.js 中使用 crypto.js 的 AES 方法完成)。随后,数据会发送到 Cloudflare worker,并存储在 KV 数据存储中。
语言切换 🌎
完整的国际化文档请参阅:多语言支持
Dashy 支持多种语言和地区设置。如果支持你的语言,Dashy 会在加载时自动检测并应用。你也可以通过 UI 选择语言(在 config --> Switch Language 下),或将 appConfig.language 设置为你的语言(指定为 2 位 ISO 639-1 代码),如下所示,例如 language: de。
支持的语言
- 🇬🇧 英语:
en- 默认 - 🇬🇧 英语(英国):
en-GB - 🇦🇪 阿拉伯语:
ar- 由 @kayedspace 贡献 - 🇦🇿 阿塞拜疆语:
az- 由 @jamalkamaladdin 贡献 - 🇧🇩 孟加拉语:
bn- 由 @soaibsafi 贡献 - 🇧🇬 保加利亚语:
bg- 由 @asenov 贡献 - 🇨🇳 中文:
zh-CN- 由 @FormatToday 贡献 - 🇨🇿 捷克语:
cs- 由 @Tuzi555 贡献 - 🇩🇰 丹麦语:
da- 由 @lordpansar 贡献 - 🇳🇱 荷兰语:
nl- 由 @evroon 贡献 - 🇫🇷 法语:
fr- 由 @EVOTk 贡献 - 🇩🇪 德语:
de- 由 @Niklashere 贡献 - 🇬🇷 希腊语:
el- 由 @aviolaris 贡献 - 🇮🇳 印地语:
hi- 自动生成(需要人工审核!) - 🇭🇺 匈牙利语:
hu- 由 @apgyorfi 贡献 - 🇮🇩 印度尼西亚语:
id- 由 @Yoruxyv 贡献 - 🇮🇹 意大利语:
it- 由 @alexdelprete 贡献 - 🇯🇵 日语:
ja- 自动生成(需要人工审核!) - 🇰🇷 韩语:
ko- 由 @boggy-cs 贡献 - 🇰🇬 吉尔吉斯语:
ky- 由 @noblepower1337 贡献 - 🇳🇴 挪威语(书面语):
nb- 由 @rubjo 贡献 - 🇵🇱 波兰语:
pl- 由 @skaarj1989 贡献 - 🇵🇹 葡萄牙语:
pt- 由 @LeoColman 贡献 - 🇷🇴 罗马尼亚语:
ro- 由 @z3r0l1nk 贡献 - 🛰️ 加利西亚语:
gl- 由 @pvillaverde 贡献 - 🇷🇺 俄语:
ru- 由 @sasetz 贡献 - 🇸🇰 斯洛伐克语:
sk- 由 @Smexhy 贡献 - 🇸🇮 斯洛文尼亚语:
sl- 由 @UrekD 贡献 - 🇪🇸 西班牙语:
es- 由 @lu4t 贡献 - 🇸🇪 瑞典语:
sv- 由 @BOZG 贡献 - 🇰🇪 斯瓦希里语:
sw- 由 @Daniel-wambua 贡献 - 🇹🇼 繁体中文:
zh-TW- 由 @stanly0726 贡献 - 🇹🇷 土耳其语:
tr- 由 @imsakg 贡献 - 🇺🇦 乌克兰语:
uk- 由 @allozavrr 贡献 - 🏴☠️ 海盗语:
pirate- 由 @Lissy93 贡献
添加你的语言
我希望每个人都能使用 Dashy,不让语言成为入门障碍。如果你有几分钟空闲时间,可以考虑为你的语言添加翻译。这是一项很快就能完成的工作,所有文本都在一个 JSON 文件中。由于缺失的文本会回退到英语,你不需要翻译全部内容。
多页面支持 📃
有关完整的多页面文档,请参阅:页面与分区
在你的仪表板中,可以根据需要创建任意数量的子页面。要加载其他页面,请指定名称以及 pages 下配置文件的路径。配置文件可以是本地文件(存储在 /public 中),也可以是远程文件(位于任何可访问的位置)。
pages:
- name: Networking Services
path: 'networking.yml'
- name: Work Stuff
path: 'work.yml'
或者
pages:
- name: Getting Started
path: 'https://snippet.host/tvcw/raw'
- name: Homelab
path: 'https://snippet.host/tetp/raw'
- name: Browser Startpage
path: 'https://snippet.host/zcom/raw'
系统要求 📊
如果在裸机上运行,Dashy 需要 Node,建议使用 LTS(24.x)。
如果在 Docker 容器中运行,建议使用 Alpine(3.21)作为基础镜像。
硬件要求因运行 Dashy 的位置和方式而异。一般来说,在裸机系统或 Docker 容器中运行时,1GB 内存就足够了;如果使用自己的资源,1GB 磁盘空间也应该足够。
如果你使用一键云部署方式之一,通过 CDN 提供应用,或使用静态托管服务,则没有具体要求,因为构建后的应用只是一系列静态 JS 文件,因此非常轻量。
Dashy 也能在低功耗的 ARM 单板计算机上良好运行,例如 Raspberry Pi(已在 Pi 3 上测试)。
支持 🙋♀️
如果你在运行 Dashy 时遇到问题,或对用法或配置有疑问,欢迎提问。最适合提问的地方是讨论区。
如果你发现某些功能未能正常运行,请通过提交工单报告错误。
支持 Dashy 💖
有关完整详情以及其他支持方式,请参阅:贡献
如果你正在使用 Dashy,并希望支持其开发,那就太好了!我们非常感谢任何类型、任何规模的贡献,并会根据你的付出给予相应致谢。
目前我们需要一些帮助的领域包括:
- 翻译——通过添加你的语言,帮助非英语母语者使用 Dashy
- 通过在 GitHub 上赞助 @Lissy93捐赠少量资金,还可获得一些额外福利!
- 完成一份简短调查,分享你对未来功能的看法
- 在 Showcase 中分享你的仪表板,启发他人
- 分享 Dashy 或你的仪表板截图,帮助新用户发现它
- 提交 PR,添加新功能、修复错误、更新文档、添加主题、小组件或其他内容
- 在 GitHub/DockerHub 上为 Dashy 点星,或在这些平台上点赞/评价
致谢 🏆
有关完整的致谢名单以及 Dashy 中所用软件包的归属信息,请参阅:致谢
非常感谢迄今为止所有帮助过 Dashy 的人;我们由衷感谢每一份贡献。
赞助者
衷心感谢支持 Dashy 开发的赞助者!
贡献者
统计
开发 🧱
完整的开发文档请参阅:开发
开始之前,你需要安装 Git、Node,以及可选的 Yarn(运行 npm i -g yarn)。
设置开发环境:
- 获取代码:
git clone https://github.com/Lissy93/dashy.git并运行cd dashy - 安装依赖:
yarn - 启动开发服务器:
yarn dev - 打开浏览器:
http://localhost:8080
准备就绪后,可以使用 yarn build 构建生产版本应用,然后使用 yarn start 运行。
如果你是 Web 开发新手,我整理了一份简短的资源列表,帮助初学者入门。
文档 📘
完整文档请参阅:文档目录
运行 Dashy
- 💨 快速开始 - 简明指南,帮助你在不到 5 分钟内启动并运行 Dashy
- 🚀 部署 - 在各种不同环境中设置 Dashy 的完整指南
- 🔧 配置 - 配置文件中所有可用选项的完整列表
- 💻 管理 - 管理应用、更新、安全、Web 服务器配置等
- 🚒 故障排除 - 常见错误和问题,以及解决方法
功能文档
- 🛡️ 身份验证 - 设置身份验证以保护仪表板的指南
- 🌈 备用视图 - 可用页面/视图及项目打开方式概览
- 💾 备份与恢复 - 使用 Dashy 云同步功能备份配置的指南
- 🧸 图标 - 各版块和项目可用图标类型概览及示例
- 🌐 多语言支持 - 切换语言以及添加新语言区域
- 🚦 状态指示器 - 使用 Dashy 监控应用、服务和主机的正常运行时间与状态
- 🔍 搜索与快捷键 - 搜索、启动方式和键盘快捷键
- 🎨 主题 - 应用、编写和修改主题及样式的完整指南
- 📊 小组件 - 所有动态内容小组件的列表,附使用指南和示例
开发与贡献
- 🧱 开发 - 在本地运行 Dashy 开发服务器,以及通用工作流
- 🛎️ 开发指南 - 常见开发任务,帮助新贡献者入门
- 💖 贡献 - 如何为 Dashy 做出贡献
- 🌟 展示 - 查看其他人如何使用 Dashy,并分享你的仪表板
- 🏆 致谢 - 向迄今为止做出贡献的杰出人士致敬
- 🗞️ 发布工作流 - 关于发布、CI 和自动化任务的信息
其他
路线图 🛣️
有关近期即将发布的功能,请参阅当前路线图
有关以往更新,请参阅发布页面
替代方案 🙌
有一些可自托管的 Web 应用与 Dashy 用途相似。如果你正在寻找仪表板,而 Dashy 无法满足你的需求,我强烈推荐你看看这些项目!
- Flame,作者 @pawelmalak(
MIT) - HomeDash2
- Homer(
Apache License 2.0) - Organizr(
GPL-3.0 License) - Heimdall(
MIT) - Smashing(
MIT) - 查看更多 👉 优秀的自托管项目
许可证 📜
Dashy 根据 MIT X11 许可
Copyright © Alicia Sykes <https://aliciasykes.com>
Permission is hereby granted, free of charge, to any person obtaining a copy of this
software and associated documentation files (the "Software"), to deal in the Software
without restriction, including without limitation the rights to use, copy, modify, merge,
publish, distribute, sublicense, and/or sell copies of the Software, and to permit
persons to whom the Software is furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all copies or
substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION WITH THE SOFTWARE OR THE USE
OR OTHER DEALINGS IN THE SOFTWARE.
Except as contained in this notice, Dashy shall not be used in advertising or otherwise
to promote the sale, use, or other dealings in this Software without prior written
authorization from the repo owner.
简而言之; 你可以随意使用 Dashy:用于个人或商业场景, 重新分发并修改它。但你必须展示此许可证并注明作者。 我们不保证此应用能够按预期运行,作者也不对任何问题承担 责任。 更多信息,请参阅 TLDR Legal 的 MIT 许可证说明
© Alicia Sykes 2019 - 2026
基于 MIT 许可

感谢访问 :)
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。

