Stackyard:把自托管首页做成一个安静的启动器

家里的服务越来越多之后,首页该放什么一直是个小问题。有些人用书签文件,有些人堆一个满屏图表的监控墙,但每天打开看一眼的那种”顺手”始终没那么容易。最近在翻 GitHub 新仓库时看到一个刚冒头不久的项目 Stackyard,思路挺不一样:它把自己定位成一个”你真的愿意天天看的自托管仪表盘”,核心不是堆指标,而是用启动器风格的网格把常用服务摆清楚,只在出状况时才冒出健康徽章。

是什么

Stackyard 是 SandObserver 一个人维护的开源项目,Apache-2.0 许可,2026 年 8 月初才建仓,到写这篇时刚发到 v1.9.2(9 月 2 日那天的提交),星标还只有个位数——典型的新鲜早期项目,下面会专门说风险。它打包成一个单容器(内部用 nginx 做服务、supervisord 管进程),前端是原生 TypeScript 没上框架,所以整个东西很轻,部署面很小。

和那种”进来先给你十张折线图”的仪表盘不同,Stackyard 的主界面是启动器网格:应用磁贴、文件夹,再配几个小的实时小部件。它的设计目标很直白——安静。平时界面干干净净,只有当某个后端的状态变了、或者某项指标越界时,才会弹出带颜色的健康徽章。它不追求把 NAS 的每一颗核心都画成曲线,而是让你一扫就知道”今天有没有东西挂了”。

Stackyard home

为什么值得看一眼

我之前折腾过那种偏”台账 + 探活 + 拓扑”的运维向面板,功能全但打开成本高,真到日常只想点开某个服务的时候反而累。Stackyard 卡的位置不太一样:它介于浏览器起始页和监控墙中间,主角永远是我要打开的那个应用,而不是系统健康度。

它最让我感兴趣的一点叫 live activity badge(实时活动徽章)。你可以把徽章指向任意一个 API,一次轮询能带回多个带标签的数值,每个数值能配颜色和阈值,全程不用写代码。换句话说,只要你的某个服务能返回 JSON,就能做成一眼可见的状态块——比如下载器的队列数、代理面板的在线节点数、备份任务的上次成功时间。这种”任意 API 皆徽章”的模型比写死的小部件灵活得多。

另一个省心点是全程 Web UI 配置。所有设置都在浏览器里点出来,支持配置的导入导出,不需要手改 YAML 或 JSON 文件。对不想记配置格式的人来说挺友好。移动端还能以类原生 PWA 的方式从主屏打开,独立窗口、不像收藏夹。无障碍方面它目标对齐 WCAG 2.2 AA,还带 RTL 和多语言(含中文在内的六种语言)。

Stackyard widgets

怎么用

部署就是标准的 Docker Compose,官方仓库里那份带了资源限制和反向代理注释。最小可用长这样:

services:
  stackyard:
    image: ghcr.io/sandobserver/stackyard:latest
    container_name: stackyard
    restart: unless-stopped
    ports:
      - "8700:80"
    volumes:
      - ./data:/data
      - ./icons:/icons

跑起来后访问 http://localhost:8700,进 /admin 完成所有配置。配置和你上传的图标分别持久化在挂载的 ./data./icons 里,记得把这俩目录一起备份。镜像分发首选 ghcr.io(带发布签名验证),Docker Hub 有同名镜像作为备选,Unraid 用户也能在 Community Apps 里装。

原生支持的小部件已经覆盖了自托管常客:媒体类的 Plex / Jellyfin / Emby / Navidrome(Now Playing)、Open-Meteo 天气(免密钥)、DNS 类的 AdGuard / Pi-hole / Technitium / NextDNS、GitHub 贡献热力图、电子书类的 Audiobookshelf / Komga / Kavita、系统概览的 SpeedTest Tracker / Glances / Beszel / Unraid API、磁盘健康的 TrueNAS / Scrutiny、备份状态的 Duplicati / Kopia,还有 Gluetun / Netbird / Plausible / Umami 这类连接与统计。覆盖面已经不窄,不够的再用上面说的任意 API 徽章补。

Stackyard github

有什么坑

先说最关键的:这是个 25 天大的项目,星标个位数,单一维护者。v1.9.2 虽然天天在动,但长期维护节奏完全没经过验证。我的建议很明确——当玩具和日常起始页用,别当生产级监控的依赖。哪天作者不更了,你最多丢掉一个好看的首页,别让它成为你发现服务挂了的唯一渠道。

其次,它的设计取舍决定了它不适合做密集图表或历史分析。想要 Grafana 那种查询层和长周期趋势,它给不了,本来就不是一个赛道。选它就要接受”轻量一览”这一定位。

还有两个点容易踩:第一,它没有离线模式,每个磁贴都是实时的,所以强依赖后端可达。后端挂了徽章会如实显示异常——这本来是优点,但也意味着你的首页健康度取决于那一串后端是不是都还活着。第二,配置都在 ./data 里,迁移或重装前务必把这个卷备份出来,否则你精心摆好的网格就没了。

最后提醒一句 Apache-2.0 的边界:你可以自由用、改、商用,但不能冒用”Stackyard”这个名字和 logo,分支得用自己的名字。对个人自托管来说基本无约束。

小结

如果你正想要一个安静、好看、点开就能进服务的自托管首页,又懒得手搓 YAML,Stackyard 现在的形态已经够用,单容器部署和 Web 配置把门槛压得很低。只是记住它年轻,备份好 ./data,别把它当监控主力。等它再涨一阵星标、发布节奏稳下来,会是个很顺手的家庭服务器门面。

发表评论