自托管服务
glanceapp/glance avatar
glanceapp/glance

Glance:一个把 RSS、天气、服务器状态塞进同一页的自托管仪表盘

一个自托管仪表板,可将您的所有源放在一个位置。然后,您应该能够运行可执行文件并通过在浏览器中访问来访问仪表板。

37,058 个 Star1,456 个 ForkGoAGPL-3.0
GitHub

秒懂

它是什么?
Glance 是一个用 Go 写的轻量级自托管仪表盘,把 RSS、Reddit、Hacker News、天气、Docker 状态等几十种信息源集中到一个可定制的页面上。它配置简单、资源占用低,但缓存机制和第三方依赖的稳定性需要你提前权衡。
适合谁用?
Glance 适合那些想用一个低资源、高定制仪表盘来聚合 RSS、天气、服务器状态等技术信息的自托管用户,尤其是已经熟悉 Docker Compose 或 YAML 配置的人。它不适合需要复杂交互或深度数据分析的场景,也不适合不想维护第三方 DNS 或容器环境的用户。
能商用吗?
可以,但条件严格。AGPL-3.0 是网络 copyleft 许可证:如果别人通过网络使用你修改过的版本(例如作为托管服务),你必须以同一许可证向他们提供源代码。
还在维护吗?
在维护。仓库最近一次提交在 10 天前。
用什么语言写的?
主要是 Go(依据 GitHub 的语言统计)。

以上回答依据项目的 GitHub 数据(最近同步于 2026年9月15日)和我们的分析,不构成法律意见。

开源项目深度解析

它解决什么问题:碎片化信息源的集中入口

自托管用户通常有多个信息源:RSS 订阅、Reddit 版块、Hacker News、YouTube 频道、天气、Docker 容器状态、服务器指标。每个源都有自己的网页或应用,切换成本高。Glance 把所有这些聚合到一个可自定义的仪表盘上,通过 YAML 配置决定布局和内容。它面向的是那些愿意花一点时间写配置文件,但不想搭一个复杂应用的人。README 强调单个二进制小于 20MB,Docker 镜像也很小,这暗示它的目标场景是低功耗设备或小型 VPS。

工作机制:YAML 定义页面,小部件按列排列

Glance 的配置基于 YAML 文件。顶层是 pages,每个页面有名称和列(columns),列有宽度(size: small 或默认),列里放 widgets。每个 widget 有类型(如 rss、calendar、weather)和各自的参数。以 README 的示例为例,一个 rss widget 可以设置 limit、collapse-after 和 cache 时间,每个 feed 还能单独覆盖 limit。数据获取由 Glance 后端完成,然后渲染成静态 HTML 和少量原生 JavaScript。README 声称未缓存页面通常在 1 秒内加载,但这取决于网络速度和 widget 数量。缓存是每 widget 级别的,比如 cache: 12h 表示该 widget 的数据缓存 12 小时。这种设计让页面加载快,但代价是数据可能滞后。

安装与上手:Docker Compose 是推荐路径

README 推荐用 Docker Compose 并附带模板目录。你只需运行一条命令:mkdir glance && cd glance && curl -sL https://github.com/glanceapp/docker-compose-template/archive/refs/heads/main.tar.gz | tar -xzf - --strip-components 2。这会创建 docker-compose.yml、config/home.yml 和 config/glance.yml 等文件。编辑这些文件后运行 docker compose up -d 即可。手动方式更简单:创建一个 docker-compose.yml,使用镜像 glanceapp/glance,挂载 ./config:/app/config,映射端口 8080,然后下载 docs/glance.yml 作为起始配置。你也可以直接下载预编译二进制,用 --config 指定配置文件路径。默认情况下,二进制会在当前目录找 glance.yml。Windows 用户只需下载 zip 并放置 glance.yml 在旁边。整个过程不需要编译,也没有依赖安装步骤。

定制能力:布局、主题和自定义 CSS

Glance 的定制不止于 widget 类型。你可以创建多个页面或标签,每个页面有独立的列布局。主题系统通过调整几个数值来生成,README 提到已有多个预置主题,也支持自定义 CSS。对于高级用户,assets/user.css 文件可以覆盖默认样式。此外,.env 文件允许在配置文件中使用环境变量,这在 Docker 部署中很有用。但要注意,定制深度取决于你对 YAML 和 CSS 的熟悉程度。文档提供了配置指南和预配置页面示例,但 README 本身没有展示所有 widget 的用法。如果你想要一个开箱即用的仪表盘,可能需要花时间阅读 docs/configuration.md。

真实限制:DNS 速率限制是常见瓶颈

README 的 Common issues 部分明确指出,最常见的超时原因是使用了 Pi-Hole、AdGuard Home 等广告拦截 DNS 服务,这些服务默认有较低的速率限制。当页面包含多个 widget 时,Glance 会向不同源发起请求,很容易超过限制。解决办法是提高 DNS 服务的速率限制。这是一个容易被忽略的坑,尤其是自托管用户往往同时运行这些工具。另一个限制是缓存机制:虽然 cache 参数可以设置较长时间来减少请求频率,但这也意味着信息更新延迟。对于 RSS 阅读,延迟几小时可能没问题,但如果你需要实时监控服务器状态,就需要权衡。另外,README 提到 Podman 在某些情况下也会出现超时,但细节被截断了,无法确认具体原因。

替代方案:与 Homarr 和 Heimdall 的差异

同类自托管仪表盘有 Homarr 和 Heimdall。Homarr 提供更丰富的 UI 集成,比如直接操作 Docker 容器、更细粒度的权限管理,但配置更复杂,依赖数据库。Heimdall 则侧重于应用书签和启动器,虽然也支持一些 widget,但聚合能力不如 Glance 的 RSS 和社交源。Glance 的差异点在于它把信息聚合放在首位,而不是应用启动器。它没有数据库,所有状态都来自 YAML 和缓存,这简化了备份和迁移。如果你只需要一个启动器,Heimdall 可能更轻。但如果你要在一个页面看 RSS、Reddit 和天气,Glance 的 widget 列表更直接。

维护与升级:AGPL-3.0 和社区生态

Glance 采用 AGPL-3.0 许可证,这意味着如果你修改代码并作为网络服务提供,需要公开修改后的源码。对于个人自托管用户,这通常不是问题,但如果你计划基于它构建商业服务,需要谨慎评估。项目最近更新活跃,v0.8.5 在 2026 年 5 月发布,v0.8.4 在 2025 年 6 月,v0.8.3 在 2025 年 5 月,说明维护节奏稳定。升级成本方面,由于是单二进制或 Docker 镜像,替换版本相对简单。但配置格式可能随版本变化,升级前应查看 release notes。社区提供了额外 widget 和预配置页面,但它们是第三方维护的,质量参差不齐。如果你的需求超出内置 widget,需要依赖社区项目,这增加了不确定性。

编辑结论

Glance 适合那些想用一个低资源、高定制仪表盘来聚合 RSS、天气、服务器状态等技术信息的自托管用户,尤其是已经熟悉 Docker Compose 或 YAML 配置的人。它不适合需要复杂交互或深度数据分析的场景,也不适合不想维护第三方 DNS 或容器环境的用户。在采用前,先确认你的 DNS 服务(如 Pi-Hole 或 AdGuard Home)的速率限制是否足够,否则多小部件页面容易超时。另外,检查你依赖的每个 widget 的数据源是否稳定,因为 Glance 的缓存机制只能缓解、不能根治上游超时。最后,由于项目使用 AGPL-3.0 许可证,如果你计划修改代码并部署为网络服务,需要了解相应的开源义务。

官方来源

  1. Official README
  2. Project repository
  3. Release notes
社区笔记

社区笔记