Self-hosted dashboard that puts all your feeds in one place
Features
Various widgets
RSS feeds
Subreddit posts
Hacker News posts
Weather forecasts
YouTube channel uploads
Twitch channels
Market prices
Docker containers status
Server stats
Custom widgets
and many more...
Fast and lightweight
Low memory usage
Few dependencies
Minimal vanilla JS
Single <20mb binary available for multiple OSs & architectures and just as small Docker container
Uncached pages usually load within ~1s (depending on internet speed and number of widgets)
Tons of customizability
Different layouts
As many pages/tabs as you need
Numerous configuration options for each widget
Multiple styles for some widgets
Custom CSS
Optimized for mobile devices
Because you'll want to take it with you on the go.
Homepage
Download
Recent Releases
0.8.321 May 2025 03:15
minor feature:
lt;h2 gt;New lt;/h2 gt;.
lt;ul gt;.
lt;li gt;Added the ability to disable the theme picker via lt;code gt;disable-picker: true lt;/code gt; under lt;code gt;theme lt;/code gt; lt;/li gt;.
lt;li gt;Added lt;code gt;mod lt;/code gt; function (modulo) to the custom API widget lt;/li gt;.
lt;li gt;Added lt;code gt;safeHTML lt;/code gt; function to the custom API widget which prevents HTML from being escaped lt;/li gt;.
lt;li gt;Added lt;code gt;.Options.JSON lt;/code gt; to the custom API widget which takes any nested option value and turns it into a JSON string lt;/li gt;.
lt;/ul gt;.
lt;details gt;.
lt;summary gt;View example lt;/summary gt;.
lt;div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- type: custom-api.
Options:
Request-body:
Service: Session
Method: login
Params:
Username: USERNAME
Password: PASSWORD
useful if you need to send JSON in a request body.
Template:
withStringBody (.Options.JSON amp;quot;request-body amp;quot;).
gt; lt;pre gt;- lt;span class="pl-ent" gt;type lt;/span gt;: lt;span class="pl-s" gt;custom-api lt;/span gt;.
lt;span class="pl-ent" gt;options lt;/span gt;:
lt;span class="pl-ent" gt;request-body lt;/span gt;:
lt;span class="pl-ent" gt;service lt;/span gt;: lt;span class="pl-s" gt;Session lt;/span gt;.
lt;span class="pl-ent" gt;method lt;/span gt;: lt;span class="pl-s" gt;login lt;/span gt;.
lt;span class="pl-ent" gt;params lt;/span gt;:
lt;span class="pl-ent" gt;username lt;/span gt;: lt;span class="pl-s" gt; USERNAME lt;/span gt;.
lt;span class="pl-ent" gt;password lt;/span gt;: lt;span class="pl-s" gt; PASSWORD lt;/span gt;.
lt;span class="pl-c" gt; lt;span class="pl-c" gt;# lt;/span gt; useful if you need to send JSON in a request body lt;/span gt;.
lt;span class="pl-ent" gt;template lt;/span gt;: lt;span class="pl-s" gt; lt;/span gt;.
lt;span class="pl-s" gt;... lt;/span gt;.
lt;span class="pl-s" gt; withStringBody (.Options.JSON "reques
0.8.218 May 2025 03:15
minor feature:
lt;ul gt;.
lt;li gt; lt;code gt;hide-deskop-navigation lt;/code gt; not working lt;/li gt;.
lt;li gt;custom favicons not working in Chromium browsers lt;/li gt;.
lt;li gt;server crash when using lt;code gt;head-widgets lt;/code gt; with the releases widget lt;/li gt;.
lt;li gt;URLs getting escaped when using lt;code gt;video-url-template lt;/code gt; in the lt;code gt;videos lt;/code gt; widget with the lt;code gt;vertical-list lt;/code gt; style lt;/li gt;.
lt;li gt;Added lt;code gt;startOfDay lt;/code gt; and lt;code gt;endOfDay lt;/code gt; functions to the custom API widget lt;/li gt;.
lt;/ul gt;.
lt;p gt; lt;a href="https://github.com/glanceapp/glance/releases/tag/v0.8.0" gt;Visit the release notes for v0.8.0 to learn about all new features lt;/a gt; lt;/p gt;.
0.8.114 May 2025 03:15
minor feature:
lt;p gt;an error that prevented the page from loading when lt;code gt;hide-desktop-navigation lt;/code gt; is set to lt;code gt;true lt;/code gt; lt;/p gt;.
lt;p gt; lt;a href="https://github.com/glanceapp/glance/releases/tag/v0.8.0" gt;Visit the release notes for v0.8.0 to learn about all new features lt;/a gt; lt;/p gt;.
0.7.1330 Apr 2025 03:15
minor feature:
lt;h2 gt;New lt;/h2 gt;.
lt;ul gt;.
lt;li gt; Custom API Added lt;code gt;parseLocalTime lt;/code gt; function, which works like lt;code gt;parseTime lt;/code gt;, however in the absence of a timezone it uses the local timezone instead of UTC. lt;/li gt;.
lt;li gt; Search widget Added lt;a href="https://developer.mozilla.org/en-US/docs/Web/API/Window/open#target" rel="nofollow" gt; lt;code gt;target lt;/code gt; lt;/a gt; property which is used when opening the search results in a new tab lt;/li gt;.
lt;/ul gt;.
lt;h2 gt; lt;/h2 gt;.
lt;ul gt;.
lt;li gt; Server stats widget being unable to retrieve temperature sensors in some instances lt;/li gt;.
lt;li gt; Reddit widget the URL not being correctly escaped when using lt;code gt;request-url-template lt;/code gt; lt;/li gt;.
lt;/ul gt;.
0.7.1215 Apr 2025 03:15
minor feature:
lt;p gt;server crash in some configurations when a widget is provided with a single resource to fetch instead of multiple lt;/p gt;.
0.7.931 Mar 2025 03:15
minor feature:
lt;p gt;Another small release that's primarily focused around lt;code gt;custom-api lt;/code gt; widget improvements. lt;/p gt;.
lt;h2 gt;Changed lt;/h2 gt;.
lt;p gt;You no longer need to convert numbers to float before doing math operations with them. When adding two integers together, the result will be an integer. Adding two floats together or an integer and a float will result in a float. lt;/p gt;.
lt;p gt;Before: lt;/p gt;.
lt;div class="highlight highlight-text-html-basic notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" (add (.JSON.Int amp;quot;foo amp;quot; toFloat) (.JSON.Int amp;quot;bar amp;quot; toFloat)) toInt " gt; lt;pre gt; (add (.JSON.Int "foo" toFloat) (.JSON.Int "bar" toFloat)) toInt lt;/pre gt; lt;/div gt;.
lt;p gt;Now: lt;/p gt;.
lt;div class="highlight highlight-text-html-basic notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content=" add (.JSON.Int amp;quot;foo amp;quot;) (.JSON.Int amp;quot;bar amp;quot;) " gt; lt;pre gt; add (.JSON.Int "foo") (.JSON.Int "bar") lt;/pre gt; lt;/div gt;.
lt;p gt;(this is consistent for all math operations, not just addition) lt;/p gt;.
lt;h2 gt;New lt;/h2 gt;.
lt;h3 gt; lt;code gt;skip-json-validation lt;/code gt; and lt;code gt;.JSONLines lt;/code gt; lt;/h3 gt;.
lt;div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- type: custom-api.
Url: https://api.example.com
Skip-json-validation: true" gt; lt;pre gt;- lt;span class="pl-ent" gt;type lt;/span gt;: lt;span class="pl-s" gt;custom-api lt;/span gt;
lt;span class="pl-ent" gt;url lt;/span gt;: lt;span class="pl-s" gt;https://api.example.com lt;/span gt;.
lt;span class="pl-ent" gt;skip-json-validation lt;/span gt;: lt;span class="pl-c1" gt;true lt;/span gt; lt;/pre gt; lt;/div gt;.
lt;p gt;Some API's return newline separated JSON objects instead of a single JSON array. This is not valid JSON, so the lt
0.7.827 Mar 2025 03:15
minor feature:
lt;p gt;The lt;code gt;custom-api lt;/code gt; widget has received a lot of positive feedback since its introduction in v0.7.0. Many people have made and shared their own widgets over at the new lt;a href="https://github.com/glanceapp/community-widgets" gt; lt;code gt;community-widgets lt;/code gt; lt;/a gt; repository as well as the Discord server. This release includes many improvements based on feedback from the community that will make it even more capable and easier to use. lt;/p gt;.
lt;h2 gt;New lt;/h2 gt;.
lt;h3 gt;Insecure requests lt;/h3 gt;.
lt;p gt;You can now allow insecure requests (those to APIs behind a self-signed certificate) via a lt;code gt;allow-insecure lt;/code gt; property: lt;/p gt;.
lt;div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- type: custom-api.
Url: https://api.example.com
Allow-insecure: true" gt; lt;pre gt;- lt;span class="pl-ent" gt;type lt;/span gt;: lt;span class="pl-s" gt;custom-api lt;/span gt;
lt;span class="pl-ent" gt;url lt;/span gt;: lt;span class="pl-s" gt;https://api.example.com lt;/span gt;.
lt;span class="pl-ent" gt;allow-insecure lt;/span gt;: lt;span class="pl-c1" gt;true lt;/span gt; lt;/pre gt; lt;/div gt;.
lt;p gt;(thanks lt;a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ralphocdol/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ralphocdol" gt;@ralphocdol lt;/a gt;) lt;/p gt;.
lt;h3 gt;Parameters lt;/h3 gt;.
lt;p gt;You can now specify query parameters via a lt;code gt;parameters lt;/code gt; property: lt;/p gt;.
lt;div class="highlight highlight-source-yaml notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="- type: custom-api.
Url: https://api.example.com
Parameters:
Foo: bar
Baz: qux" gt; lt;pre gt;- lt;span class="pl-ent" gt;type lt;/span gt;: lt;span class="pl-s" gt;custom-api lt;/span g
0.7.718 Mar 2025 03:15
minor feature:
lt;h2 gt;What's changed lt;/h2 gt;.
lt;ul gt;.
lt;li gt;Improved accessibility of the Docker containers widget lt;/li gt;.
lt;li gt;Reduced the contrast of calendar dates to better match the design language of other widgets lt;/li gt;.
lt;li gt;Added more info to error messages of DNS stats widget when using lt;code gt;service: pihole-v6 lt;/code gt; to help with deging lt;/li gt;.
lt;li gt;Changed the integer type in the Custom API widget to lt;code gt;int lt;/code gt; from lt;code gt;int64 lt;/code gt; so that you can now perform calculations on the result of the lt;code gt;len lt;/code gt; function lt;/li gt;.
lt;/ul gt;.
lt;h2 gt; lt;/h2 gt;.
lt;ul gt;.
lt;li gt;Videos widget with style lt;code gt;vertical-list lt;/code gt; not opening links in new tab lt;/li gt;.
lt;li gt;DNS stats widget "Top blocked domains" in the UI having an additional triangle on the left on Safari lt;/li gt;.
lt;/ul gt;.
0.7.414 Mar 2025 17:31
major feature:
What's Changed
Made a number of accessibility improvements that should hopefully make Glance available to a wider audience
Fixed
Currency symbol not being properly set for some markets (thanks @hkrob)
|