家庭实验室仪表盘Labby
简介
什么是 Labby ?
Labby是一个开源的自托管家庭实验室仪表盘,轻量如Glance,交互如Homarr。它使用单个Bun进程运行,配置存储在小型SQLite数据库中,支持应用内编辑。
主要特点
- 丰富的 Widget 组件:支持服务监控、
Docker、qBittorrent/Transmission、SABnzbd、AdGuard、Jellyfin、Emby、Plex、Beszel、Radarr、Sonarr、Reelward、天气、日历、速度测试、Reddit、Hacker News等多种集成 - 实时更新:服务器轮询集成并通过
SSE推送更改,无需客户端轮询,确保数据实时性 - 交互式控制:支持启动/停止
Docker容器、暂停/恢复下载任务、切换AdGuard保护等功能 - 配置与凭据管理:配置存储在
SQLite数据库中,支持Zod验证,可通过应用内的「管理服务」页面编辑服务URL和密钥 - 主题定制:支持命名颜色方案保存到数据库,首次加载无闪烁
- 开源免费:基于
MIT协议开源,可免费使用和修改
应用场景
- Homelab 服务监控:统一查看所有自托管服务的运行状态,包括
NAS、媒体服务器、下载工具、网络工具等 - Docker 容器管理:通过
Web界面直接启动、停止容器,无需登录服务器命令行 - 下载任务管理:控制
qBittorrent、Transmission等下载客户端,暂停、恢复下载任务 - 网络工具集成:集成
AdGuard、Pi-hole等网络工具,一键切换保护状态 - 媒体库管理:查看
Jellyfin、Emby、Plex等媒体服务器状态,管理电影、剧集等媒体资源 - 开发测试环境:开发人员可以快速搭建统一的测试环境入口

Labby 是一个轻量级、功能丰富的家庭实验室仪表盘,帮助 Homelab 爱好者统一管理和监控所有自托管服务。通过丰富的 Widget 组件和实时更新功能,用户可以轻松查看服务状态、控制 Docker 容器、管理下载任务等。
安装
在群晖上以 Docker 方式安装。
本文写作时,
latest版本对应为1.5.0;

镜像托管在 ghcr.io,群晖 Docker 套件无法直接搜索,需要通过命令行拉取镜像。
docker cli 安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 labby 和 子目录 |
docker-compose 安装
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3.8' |
然后通过 SSH 登录到您的群晖,执行下面的命令:
1 | # 新建文件夹 labby 和 子目录 |

配置
用户配置存储在 SQLite 数据库中。无效配置会显示错误状态,而不会导致服务器崩溃。
服务凭据和实例设置(监控站点、天气位置、Docker 主机、下载客户端 URL 等)存储在 integrations 表中。仪表盘组件通过 integrationId 引用集成,仅携带显示选项(标题、布局样式、最大项目数)。轮询频率在集成行中设置(refreshSeconds),而不是在仪表盘 JSON 中。
所有配置都从「管理服务」页面进行,无需 .env 文件或环境变量。
内置集成
| 类型 | 配置说明 |
|---|---|
monitor |
HTTP 站点检查(每个站点的标题、URL、图标) |
docker |
读/写 Docker 主机,容器过滤器(running / all) |
qbittorrent |
URL、用户名、密码 |
transmission |
URL、用户名、密码 |
sabnzbd |
URL、API 密钥 |
adguard |
URL、用户名、密码 |
jellyfin |
URL、API 密钥 |
emby |
URL、API 密钥 |
plex |
URL、令牌 |
beszel |
URL、用户名、密码、令牌 |
radarr |
URL、API 密钥 |
sonarr |
URL、API 密钥 |
reelward |
URL、API 密钥 |
weather |
OpenWeather API 密钥、城市或经纬度、单位 |
calendar |
ICS 订阅 URL(每行一个) |
speedtest |
Speedtest Tracker URL、API 令牌 |
reddit |
合并为一个订阅源的 Subreddits |
hackernews |
无需配置(Algolia 前端) |
您可以添加多个相同类型的集成(例如两个 Radarr 实例) - 每个都有自己的行、轮询间隔和 SSE 通道(int:<id>)。
Docker 集成配置
要实现对 Docker 容器的交互式控制(启动/停止),需要通过 Docker Socket Proxy 方式连接。
注意:
Labby的Docker集成UI只支持http://、https://和s3://格式的URL,不支持unix://格式的socket路径。因此需要使用Docker Socket Proxy将Unix socket 转换为HTTP API。
方案一:使用 Docker Socket Proxy(推荐)
使用 tecnativa/docker-socket-proxy 作为中间代理,将 Docker socket 转换为 HTTP API:
1 | version: '3.8' |
在 Labby 中添加 Docker 集成时,host 填写:http://docker-proxy:2375

在 Labby 中添加 Docker 集成时,如果想控制 Docker 启停,需要配置两个字段:
RO Host(只读主机):
http://docker-proxy:2375(用于查看容器列表、日志等只读操作)RW Host(读写主机):
http://docker-proxy:2375(用于启动、停止、重启容器等操作)
方案二:群晖 DSM 6.2 直接开放 Docker TCP(不推荐)
如果不想使用 Docker Socket Proxy,可以在群晖上直接开放 Docker TCP API:
第一步:修改 Docker 配置文件
通过 SSH 登录群晖,编辑 Docker 配置文件:
1 | # 备份原始配置 |
在配置文件中添加 hosts 字段(保留原有内容):
1 | { |
第二步:重启 Docker 服务
1 | sudo synoservice --restart pkgctl-Docker |
第三步:验证端口是否开放
1 | netstat -tuln | grep 2375 |
如果显示 tcp 0 0 0.0.0.0:2375 0.0.0.0:* LISTEN,说明配置成功。
第四步:在 Labby 中添加 Docker 集成
host 填写:http://<群晖IP>:2375(如 http://192.168.0.199:2375)

安全警告:直接暴露
Docker TCP API会赋予完全控制宿主机Docker的权限,相当于root权限。请确保:
- 仅在内网或
VPN环境下使用- 不要暴露到公网
- 配置防火墙规则,仅允许特定
IP访问2375端口
图标
icon 字段接受带前缀的字符串:
| 前缀 | 示例 |
|---|---|
di: |
di:jellyfin - dashboard-icons(构建时内置,CDN 回退) |
sh: |
sh:immich - selfh.st |
lucide: |
lucide:film - 内置线条图标 |
| URL / 路径 | https://... 或 /icons/custom.svg |
刷新间隔
在「管理服务」页面为每个集成设置轮询频率(refresh Seconds;默认值来自集成类型)。浏览器通过 SSE 接收更新,而不是自己的定时器。
运行
在浏览器中访问 http://<群晖IP>:8425 即可进入 Web 界面。

点击页面右上角的数据库图标进入 Manager services

在「管理服务」页面添加您的服务 URL 和凭据,根据需要添加不同的集成(Docker、Jellyfin、qBittorrent 等)

配置完成后,仪表盘会自动显示各个服务的状态

进入 docker

查个日志

或者启停都是可以的

注意事项
- 无认证功能:
Labby本身没有认证机制,请确保在反向代理后面运行,或仅在局域网/VPN内访问 - 目录权限:
config/目录必须对容器运行的用户可写,否则会出现SQLITE_READONLY错误。如果遇到权限问题,可以在docker-compose.yml中添加user: "<uid>:<gid>"配置 - 数据持久化:所有配置和数据都保存在
config/labby.db文件中,定期备份此文件即可完整备份Labby数据 - 端口冲突:确保本地端口
8425没有被其他服务占用,如有冲突请修改端口映射 - 安全建议:不要将
Labby暴露到公共互联网,除非有网络级别的访问控制
参考文档
samuelloranger/labby: Self-hosted homelab dashboard — lightweight like Glance, interactive like Homarr
地址:https://github.com/samuelloranger/labbyLabby - Docker 镜像
地址:https://ghcr.io/samuelloranger/labby