Glance: A Self-Hosted Dashboard That Aggregates Feeds Without the Bloat
A self-hosted dashboard that puts all your feeds in one place. You should then be able to run the executable and access the dashboard by visiting in your browser.
At a glance
- What is it?
- Glance is a lightweight, YAML-configured dashboard for RSS, subreddits, weather, Docker status, and more. It prioritizes speed and customization over extensibility, making it a strong fit for homelab users who want a single, fast overview page.
- Who is it for?
- Adopt Glance if you run a homelab or personal server and want a fast, low-memory dashboard that pulls RSS, subreddit, weather, Docker, and server stats into one customizable page. Skip it if you need deep plugin ecosystems, server-side filtering, or complex user authentication, since Glance relies on client-side rendering and a single YAML config.
- Can I use it commercially?
- Yes, with strict conditions. AGPL-3.0 is a network copyleft licence: if people use a modified version over a network, for example as a hosted service, you must offer them its source code under the same licence.
- Is it still maintained?
- Yes. The repository last received commits 10 days ago.
- What is it written in?
- Mainly Go, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on September 15, 2026, and from our analysis. They are not legal advice.
DEEP OPEN-SOURCE ANALYSIS
What Glance Solves and Who It Is For
Glance solves the problem of checking a dozen different websites and services just to see what's new. It bundles RSS feeds, subreddit posts, Hacker News, weather forecasts, YouTube uploads, Twitch channels, market prices, Docker container status, and server stats into a single self-hosted dashboard. The target user is someone who already runs a server, likely a homelab enthusiast, and wants a personal start page that loads fast and looks clean. It is not a team tool. There are no user accounts, no multi-tenant features, and no shared state. It is a personal window into your feeds, and the design decisions all point that way.
How It Works: YAML Config, Client-Side Rendering, and Widgets
Glance is a Go binary that serves a web page. Configuration lives in YAML files. The README shows a structure where a `pages` list defines tabs, each page has `columns`, and each column has a `size` and a list of `widgets`. Each widget type has its own options. For example, an `rss` widget takes `limit`, `collapse-after`, `cache`, and a list of `feeds`, where each feed can have its own `url`, `title`, and `limit`. The dashboard is rendered in the browser with minimal vanilla JavaScript, which keeps the client light. The server fetches feed data, caches it per the `cache` value, and serves static HTML and JSON to the browser. The README claims uncached pages usually load within about one second, depending on internet speed and widget count. That is a reasonable claim for a Go server with simple aggregation, but you should verify it on your own hardware.
Getting It Running: Docker Compose and Manual Binary Paths
The recommended install is Docker Compose. The README gives a one-liner that creates a `glance` directory and pulls a template: `mkdir glance && cd glance && curl -sL https://github.com/glanceapp/docker-compose-template/archive/refs/heads/main.tar.gz | tar -xzf - --strip-components 2`. Then you edit `docker-compose.yml` for ports and volumes, `config/home.yml` for widgets, and `config/glance.yml` for theme and pages. Start with `docker compose up -d`. For a manual setup, you write your own `docker-compose.yml` with the `glanceapp/glance` image, mount `./config:/app/config`, expose port 8080, and download a starting `glance.yml` from the repo. The manual binary route is also documented: download a precompiled binary for Linux, Windows, or macOS, place it in a folder, create a `glance.yml` next to it, and run the executable. You can override the config path with `--config /etc/glance.yml`. The binary is under 20MB, which is attractive for small servers.
Customization: Layouts, Themes, and Custom CSS
Glance offers a high degree of layout control without code. You can define multiple pages and tabs, each with its own column sizes and widget arrangement. Widgets have per-widget options like `limit` and `collapse-after`, and some widgets support multiple styles. Theming is done by tweaking a few numbers in a YAML theme file, and there are prebuilt themes available. You can also inject custom CSS via an `assets/user.css` file, which is a straightforward escape hatch for visual tweaks that the theme system does not cover. This is a pragmatic approach: it gives you enough flexibility for personal use without inventing a plugin API. The trade-off is that you are limited to the widget types and options the project provides. If you need a widget that does not exist, you either wait for a release or write your own, which is not a documented path.
A Real Limitation: DNS Rate Limits and Timeout Failures
The README includes a common issues section that is refreshingly honest. The most common cause of widget timeouts is ad-blocking DNS services like Pi-Hole or AdGuard Home, which have low default rate limits. With many widgets on one page, Glance can easily exceed those limits, causing requests to fail. The fix is to increase the rate limit in your DNS settings, not in Glance. This is a concrete constraint that affects real deployments. It also highlights that Glance is making many outbound requests per page load, so your network and DNS infrastructure must handle that burst. If you run a restrictive DNS filter, budget time for tuning before you blame Glance. This is not a bug in Glance, but it is a failure mode you will likely hit.
The Wrong Tool: When Glance Does Not Fit
Glance is not a replacement for a full monitoring stack. It shows Docker container status, but it does not alert, graph, or store historical data. It is not a news reader with read/unread tracking or offline caching. It is not a team dashboard with shared views or permissions. If you need server-side filtering, search across feeds, or integration with proprietary services that do not expose RSS, Glance will not help. Also, because the configuration is a single YAML file, managing a large number of widgets across many pages can become unwieldy. There is no GUI for configuration, so you must edit YAML by hand. For a non-technical user, that is a barrier. For a developer or homelab tinkerer, it is a feature.
Alternatives and the Difference in Approach
A common alternative is Homer, a static dashboard that also uses YAML configuration. The difference is that Homer is purely a static page of links and status indicators, with no server-side aggregation. It does not fetch RSS feeds or live data on its own; you point it at existing services or use client-side JavaScript to hit APIs. Glance, by contrast, runs a Go server that fetches and caches feed data, which means it can show live content without requiring the browser to make many cross-origin requests. Another alternative is Heimdall, which is also a dashboard but focuses on application tiles and has a web UI for configuration. Glance's approach is more code-first and feed-centric. If you want a simple link page, Homer is lighter. If you want live aggregated feeds, Glance does that out of the box.
Maintenance, Upgrades, and License Considerations
Glance is under active development, with releases like v0.8.5 in May 2026 and v0.8.4 a year earlier. The project is not archived, and the last push matches the latest release, which suggests ongoing maintenance. Upgrades are straightforward for Docker users: pull the new image and restart. For binary users, replace the executable and check the changelog for config format changes, which have happened between minor versions. The license is AGPL-3.0, which has implications if you modify the code and deploy it as a network service. You would need to make your modified source available to users who interact with it over a network. This is not a permissive license like MIT or Apache 2.0, so if you plan to embed Glance in a proprietary product, that is a red flag. For personal use, it is fine.
Editorial conclusion
Adopt Glance if you run a homelab or personal server and want a fast, low-memory dashboard that pulls RSS, subreddit, weather, Docker, and server stats into one customizable page. Skip it if you need deep plugin ecosystems, server-side filtering, or complex user authentication, since Glance relies on client-side rendering and a single YAML config. Before deploying, verify your DNS resolver's rate limits, as Pi-Hole and AdGuard Home can cause widget timeouts. Also test the binary on your target OS and architecture, and review the AGPL-3.0 terms if you plan to modify and redistribute the code.
Community notes