Self-hosted Homarr Glance Homepage Dashboard Homelab

Homarr 1.0 用 tRPC + WebSocket 重寫成 drag-and-drop、Glance 撐 20MB Go binary 死守 YAML 極簡路線:2026 self-hosted dashboard 三種路線該選誰

Homarr 1.76 每週一版把 100+ integration 塞進瀏覽器拖拉介面、Glance 用單支 Go binary 把 RSS 跟 HN 收成一頁、Homepage 節奏放緩到 YAML 陣營只剩它一家獨大。本文拆解三個 self-hosted dashboard 在 2026 的定位差異,以及自架 VPS 部署時該怎麼選。

Self-hosted dashboard 這個類別過去五年一直有一個共同前提——用 YAML 檔案宣告要顯示什麼服務、什麼 widget,重啟或 hot-reload 一下就生效。Homepage、Dashy、Heimdall 都走這條路。到了 2026 年這個共識裂了。Homarr 花一年多把整套架構重寫成 1.0,把 YAML 徹底拔掉、換成瀏覽器裡的 drag-and-drop 編輯器;Glance 反過來把 YAML 極簡路線推到極致,整個 dashboard 塞進一支 20MB 的 Go binary;Homepage 的釋出節奏則從 2024 年之後開始明顯放慢。三種哲學同時存在,選錯代價從「介面難看」到「整組配置搬不動」都有可能。

這篇拆解 Homarr、Glance、Homepage 在 2026 年的實際定位,以及在自架 VPS 部署一個 self-hosted dashboard 時該怎麼決定。

Homarr 1.0 rewrite 把整套 dashboard 搬進瀏覽器

Homarr 從 0.x 到 1.0 的變化不是加功能而是砍地基。舊版跟其他 YAML dashboard 沒有本質區別——手改 config、reload 生效、Git 管版本。1.0 之後這條路整條被拔掉,取而代之的是後端跑 tRPC + WebSocket + Redis 的即時資料層、前端把 board 做成可以拖拉、resize、直接編輯的 canvas。加一個新 widget 不再是編 YAML 而是點右鍵開選單、拖到位置、填 URL 跟 API token。

這個決定換來三件事。第一是即時性——所有 widget 靠 WebSocket 推更新,Sonarr 抓到新集、qBittorrent 下載完、Docker 容器重啟這類事件會直接在 tile 上動起來,不用等下一次 polling。第二是 integration 深度大幅拉高,2026 年 7 到 8 月的釋出節奏裡把 Beszel 的即時 stats、TrueNAS 的容量報告、Home Assistant、What’s Up Docker、Traefik、Bazarr、PatchMon、Navidrome、Synology health 一個個接上,現在 100+ 服務都是「認得出來、能顯示狀態、能點按鈕操作」而不是只放個圖示連過去。第三是內建認證跟權限管理——BCrypt 加 AES-256-CBC 存 secret、支援 OIDC credential linking、可以做 apps management 的細粒度限制,反向代理前面不用再多包一層 auth 服務。

代價是這套架構完全不 IaC-friendly。Board 的配置存在資料庫裡,備份要備 Postgres 或 SQLite 快照,Git 版本控制那條路走不了。同時 1.x 這條線的釋出節奏是週更——v1.69 到 v1.76 這八個小版本壓在七、八月裡,功能持續進、breaking change 也偶爾夾在裡面。想要「裝好就三年不動」的體驗,這套目前給不了。

Glance 反方向走到極端,一支 Go binary 收所有 feed

Glance 是這輪最有辨識度的一家。整個 dashboard 是一支不到 20MB 的 Go binary,跑起來吃十幾 MB 記憶體,只認一個 glance.yml 設定檔。它不去接 Sonarr 或 Docker 的 API,也不做 uptime monitoring,把火力集中在一個問題上——把散在網路上的資訊 feed 收成一頁。

支援的 widget 反映了這個定位:RSS、Hacker News、subreddit、YouTube 頻道更新、Twitch 直播狀態、天氣、股票、Docker 容器列表、伺服器基本 stats、行事曆。這些東西在 Homepage 或 Homarr 上要嘛沒有要嘛是二等公民,在 Glance 上是核心。v0.8 加了 custom-api widget,能對任何 JSON endpoint 抓資料再用 Go template 渲染成自訂 tile,這條路把「自架 dashboard 顯示什麼」的邊界完全推開,社群 marketplace 上現在有從加密貨幣 gas fee 到自家 Grafana metric 到 Notion 資料庫的模板可以直接抄。

它的 YAML 用得很兇——nested config includes、Docker secrets、多頁 tab、per-widget 樣式覆寫都靠改設定檔。這種取捨的直接後果是配置可以整份放 Git 管、跨機器 rsync 就能搬、CI 上 lint 一下就知道有沒有錯。但真的要接一個 self-hosted 服務的活資料就要自己寫 custom-api 或 script 中間層,這一段 Homarr 是內建的。

Glance v0.8.0 也開始有 username/password 認證跟 theme 熱切換,過去那個「有 URL 的人都能看」的階段結束了,但整體還是傾向「一個人或小團體用的儀表板」而不是 Homarr 那種「多用戶多權限的入口網站」。

Homepage 停在 YAML 陣營頂端但節奏放慢

Homepage 是 YAML 陣營裡最完整的老牌選手,一直到 2024 年底都是 self-hosted 圈預設推薦。100+ 服務 widget 的目錄現在還是最大宗,Docker service discovery 能自動抓到跑起來的容器並顯示對應 tile,配置檔用多個 YAML 分開(services、bookmarks、widgets、settings)架構清楚。裝起來吃 60 MB 上下記憶體,比 Homarr 輕不少。

問題是 2025 到 2026 年上半的釋出節奏明顯放緩,PR 有在合但缺少 Homarr 那種週更的推進速度。原本一直在補上新 service 的 widget,這一年新增的量比 Homarr 少一大截。技術棧本身沒問題,但生態動能開始往 Homarr 這邊移。

現在選 Homepage 的合理理由剩下兩個:Docker service discovery 對懶得手動列服務的人是唯一能自動偵測的選擇;100+ service widget 的既有目錄仍然涵蓋大部分自架服務。這兩點如果不在意,往下走 Glance 更輕、往上走 Homarr 功能更深。

三種部署情境的實際分野

Dashboard 這個類別的選擇比它看起來重要——它是每天開瀏覽器第一個看的頁面,重寫配置的成本比想像中高。

想把 dashboard 當 IaC 的一部分、配置整份放 Git、CI 檢查一下就 deploy 到多臺機器:Glance 是最俐落的選擇。單支 binary、YAML 全部搞定、備份 rsync 一個檔案就完事。適合以個人為單位管理 3 到 5 臺 VPS 的自架者,資訊焦點在 RSS/HN/監控 feed 而不是 Sonarr/Radarr 這類 arr stack 的直接控制。

十幾個服務要接進 dashboard、有一整支 arr stack 要監控、team 內有非 CLI 派同事要用網頁改東西:Homarr 1.x 是目前唯一能同時打滿這三點的選項。權衡的是要接受它的資料庫存放模式、放棄 Git 版本控制的舒適圈、週更節奏偶爾踩到 breaking change。

介於中間、想要 Docker service discovery 自動化又不打算搬到 Homarr 那種重量級架構:Homepage 還是可以用,但要有心理準備專案動能已經沒在往上走。

以自架 VPS 的部署情境來說,這三個都是 Docker 一支起來就能用的規模,資源需求都在單核 512MB RAM 以內能塞。差別完全在配置模型跟 integration 深度,不在效能。

部署時容易踩到的細節

三套跑起來都不困難,但幾個實際部署會撞到的問題值得先講。

Homarr 1.x 的 database migration 在小版本間有時候是自動、有時候要手動跑,升級前該備份 volume。反向代理前面要接 WebSocket,Caddy 跟 Traefik 預設就會處理,Nginx 要多加 proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";。secret 存在資料庫但用 AES-256-CBC 加密,資料庫檔案本身建議還是加密卷或 encrypted backup 帶著。

Glance 的 custom-api widget 是強項也是坑點,Go template 語法遇到複雜 JSON 結構的解析錯誤訊息不太友善,第一次寫建議直接抄社群範本改。跨網域的 API 呼叫在瀏覽器端會踩 CORS,官方文件建議走 proxy 模式讓 Glance server 端去呼叫再轉發,不要試著讓瀏覽器直接打第三方 API。

Homepage 的 Docker service discovery 需要把 Docker socket 掛進 container,這是安全邊界問題。要嘛用 socket proxy(推薦 tecnativa/docker-socket-proxy 這類唯讀限制的 proxy),要嘛接受 dashboard 容器實質上等於 privileged。純家用 VPS 直接掛 socket 通常可接受,多租戶或有其他人能操作 host 的環境就一定要 proxy。

結論與服務推薦

Self-hosted dashboard 在 2026 年不再是「隨便挑一個」的類別。Homarr 1.0 rewrite 把 UI-driven 跟 real-time integration 這條路走到底,Glance 把 YAML 極簡跟 feed-first 推到極端,Homepage 停在中間但動能減弱。選哪一個由「配置模型偏好」跟「要接的服務類型」兩個維度共同決定,跟部署規模的關係反而不大。

NCSE Network 提供臺灣是方電訊機房的 VPS 主機,Intel Gold CPU 加 NVMe SSD,是自架這類 dashboard 服務的合適平臺——低延遲的臺灣機房讓 WebSocket 連線在 Homarr 的即時更新體驗上不打折扣,Docker socket 掛載跟反向代理配置也都是標準流程。歡迎到 https://ncse.tw 進一步了解服務內容。

需要穩定的雲端主機?

NCSE Network 提供企業級 VPS,7 天免費試用,臺灣是方電訊機房,99% SLA 保證。

查看 VPS 方案 →