github.com/glanceapp/glance
This package has a good security score with no known vulnerabilities.
Community Reviews
Dashboard server with limited production-grade operational controls
The server lacks essential resource management features. There's no built-in connection pooling configuration for its HTTP client, no circuit breakers for upstream feed failures, and minimal observability hooks beyond basic logging. When RSS feeds are slow or unreachable, the entire dashboard refresh can hang with no granular timeout controls per feed source. Memory usage grows unbounded during long-running instances when fetching media-heavy feeds.
Configuration is YAML-based and requires full restart for changes—no dynamic reloading. Error handling for malformed feeds is brittle, often logging generic errors without context about which widget failed. The refresh intervals are global rather than per-widget, making it difficult to balance fresh data against API rate limits. For personal use on a home server it works, but lacks the operational maturity needed for multi-user or reliability-critical deployments.
Best for: Personal hobby projects and home lab dashboards where occasional downtime is acceptable.
Avoid if: You need production-grade reliability, multi-tenant support, or detailed operational metrics and alerting.
Self-hosted dashboard with limited extensibility but straightforward setup
From a DX perspective, the YAML configuration schema lacks strong validation and type safety. You'll discover configuration errors at runtime, and error messages can be cryptic when widget configurations are malformed. There's no schema file for IDE autocompletion in your config YAML, which would significantly improve the configuration experience. Documentation covers the basics but lacks depth on advanced customization scenarios.
If you need to extend Glance with custom widgets or data sources, you'll need to fork and modify the Go codebase directly. There's no plugin system or extensibility API, which limits its utility for teams with specific dashboard requirements beyond what's built-in.
Best for: Teams wanting a simple, self-hosted dashboard with built-in widgets and minimal infrastructure overhead.
Avoid if: You need to programmatically integrate dashboard functionality into your Go application or require custom widget development without maintaining a fork.
Dashboard tool masquerading as a Go library - limited operational control
From an operations standpoint, it's concerning. The application spawns multiple goroutines for widget refresh cycles with minimal configuration hooks for timeouts or rate limiting. Error handling in widget fetchers tends to silently fail or log at INFO level, making it difficult to trace issues under load. There's no built-in connection pooling configuration for the HTTP clients it uses internally - it relies on Go's defaults which may not suit your environment.
Configuration is YAML-based and relatively inflexible for programmatic use cases. There's no graceful shutdown implementation that properly drains in-flight requests or completes widget refreshes. Resource cleanup is implicit, and you can't easily inject observability hooks without forking. If you need a quick personal dashboard, it works, but treating it as production infrastructure requires significant wrapper code.
Best for: Personal dashboard deployments where you need a quick self-hosted information aggregator with minimal customization.
Avoid if: You need a library to embed in your application or require production-grade operational controls like metrics, retry policies, or graceful degradation.
Sign in to write a review
Sign In