For a native Windows Glance dashboard, download the official Windows archive, verify its SHA-256 against the GitHub release, put glance.exe beside glance.yml, bind the server to 127.0.0.1, and run the executable. My v0.8.6 capture reached HTTP 200 in 565.4 ms and used a 25.64 MiB working set after ten minutes, without Docker.
Contents
By LK Wood IV · 2026-10-03 · ~8 min read · St. Louis County, MO
Glance is a self-hosted start page: one screen for links, feeds, service checks, calendars, server statistics, and other widgets. You do not need Docker to run it on Windows. The project publishes a portable Windows executable, and the official README’s Windows path is simply the executable plus a glance.yml file in the same folder.
The name is easy to mix up with Glances, the Python system monitor. They are different projects. If you wanted the monitoring tool, use the Beszel vs Netdata vs Glances comparison. This guide covers glanceapp/glance, the dashboard.
I tested Glance v0.8.6 natively on Windows 11 Home build 26200. I verified the downloaded archive against the SHA-256 published by GitHub before running it, bound it only to loopback, exercised good and bad config reloads, and sampled the process after ten minutes. The setup below is a reduced version of that tested configuration.
No installer was involved.
What the native Windows run measured
These numbers describe one capture on one PC. They are useful for sizing this small dashboard, but they are not a cross-machine benchmark.
Treat them as a reference point.
The browser run used an isolated Playwright Chromium context that allowed only 127.0.0.1 and localhost, was configured to abort every other destination before request dispatch, and recorded zero external requests, failed requests, console errors, or page errors while the complete dashboard fit a 1440-pixel viewport without horizontal overflow.
| Check | Glance v0.8.6 result |
|---|---|
| Official archive | glance-windows-amd64.zip, 6,518,780 bytes |
| SHA-256 | e92ca602a1b807f00310b1b70c8271fe779001a5648bb4a13e0f50e81355076c, matched GitHub’s release API |
| Process start to first HTTP 200 | 565.4 ms |
| Working set at 35.8 seconds | 19.07 MiB |
| Private memory at 35.8 seconds | 53.24 MiB |
| Working set at 603.2 seconds | 25.64 MiB |
| Private memory at 603.2 seconds | 58.52 MiB |
| CPU time at 603.2 seconds | 2.234 seconds |
| Browser check | HTTP 200, no console or page errors, no external requests |
The dashboard rendered CPU, RAM, and disk use from the Windows host. It did not render a CPU temperature. The Docker widget failed because the native machine had no Docker socket. Both outcomes are covered below rather than hidden behind a perfect-looking screenshot.
1. Download the official Windows build
Open the Glance v0.8.6 release and download the Windows archive that matches your CPU. For a typical 64-bit Intel or AMD Windows PC, that is glance-windows-amd64.zip.
Start with the hash.
Create a folder that you own, such as C:\Tools\Glance, and extract the archive there. Keep the downloaded ZIP until you verify it.
In PowerShell, move to the folder containing the ZIP and calculate its hash:
Get-FileHash .\glance-windows-amd64.zip -Algorithm SHA256
For v0.8.6, my downloaded archive and GitHub’s API both returned:
e92ca602a1b807f00310b1b70c8271fe779001a5648bb4a13e0f50e81355076c
Match the whole value. When a newer release replaces v0.8.6, use the digest attached to that release rather than reusing this one.
Do not shorten the comparison.
After extraction, confirm the executable before configuring anything:
Set-Location C:\Tools\Glance
.\glance.exe --version
The tested binary printed v0.8.6.
2. Create a local-only glance.yml
Create glance.yml beside glance.exe and paste this configuration:
server:
host: 127.0.0.1
port: 8080
branding:
app-name: Windows Glance
pages:
- name: Home
width: wide
columns:
- size: small
widgets:
- type: clock
hour-format: 12h
- type: calendar
first-day-of-week: monday
- size: full
widgets:
- type: monitor
title: Local services
cache: 1m
sites:
- title: Glance
url: http://127.0.0.1:8080/
- type: server-stats
servers:
- type: local
name: Windows PC
This is intentionally smaller than the project’s example dashboard. It gives you a clock, calendar, loopback health check, and Windows server statistics without credentials, outside feeds, or Docker.
That is deliberate.
The host: 127.0.0.1 line is the safety boundary. Glance’s server configuration says the host controls which address the server listens on and that its default is all interfaces. Loopback keeps this first run on your PC. Do not remove that line just to make another device connect; exposing a dashboard to the LAN is a separate access and firewall decision.
If you later decide that phones, tablets, or another workstation should reach this page, choose the listening address and Windows Firewall scope together, test from the intended client, and confirm that the dashboard is still unreachable from networks that were never meant to see it.
Validate the file before starting the server:
.\glance.exe --config .\glance.yml config:validate
A valid file returns to the prompt without an error. To inspect the fully resolved config, use:
.\glance.exe --config .\glance.yml config:print
3. Start Glance and open the dashboard
Run the executable from the same folder:
.\glance.exe
The console should report that the server is starting on 127.0.0.1:8080. Leave that window open, then visit:
http://127.0.0.1:8080/
Leave the console visible; Glance reports bad edits there.
The official Windows instructions use the same executable-and-config arrangement and point the browser at port 8080. This guide keeps that arrangement but supplies a smaller config and explicitly binds the server to loopback.
If you prefer to keep the config elsewhere, pass its path every time you start Glance:
.\glance.exe --config D:\Dashboard\glance.yml
This guide stops at a portable manual launch. I did not install Glance as a Windows service, create a scheduled task, or add an autostart entry during the capture, so I am not presenting any of those as tested steps.
4. Edit the dashboard while it is running
Glance watches the configuration file. Save a valid change and refresh the browser if the visible page has not already updated.
Save once, then watch the console.
The official auto-reload documentation says a valid save takes effect without restarting the process. It also says a bad live edit logs an error and leaves the old configuration running.
That is what happened in the Windows capture:
| Save operation | New page visible after |
|---|---|
| In-place file write | 606.6 ms |
| Atomic file replacement | 638.8 ms |
| Invalid live config | Error logged after 632.5 ms; old page stayed HTTP 200 |
| Valid config restored | Recovered after 657.9 ms |
The capture exercised an in-place write and an atomic file replacement. I did not drive Notepad or VS Code during the test, so the evidence supports Glance’s file reload behavior, not an editor-specific promise.
Reloading also clears Glance’s cached widget data. The official configuration reference warns that frequent reloads can cause APIs to rate-limit repeated requests. Finish a group of edits before saving when a page pulls several outside feeds.
5. Add service checks without mistaking them for alerts
The monitor widget sends a GET request and treats HTTP 200 as healthy. Add another entry under sites when a local service is ready:
- title: Jellyfin
url: http://127.0.0.1:8096/
Use an address reachable from the Glance process. A green result means that one request succeeded from this Windows PC. It does not prove that the service is reachable from outside your network, and Glance cannot report a whole-PC or whole-network outage while the machine running Glance is down.
That is the same placement limit covered in the Uptime Kuma setup guide. Treat the Glance monitor as a convenient status panel. Use a separately placed monitor when you need alerts or an outside view.
6. Understand the Windows widget gaps
Server stats has no temperature
The server-stats widget rendered CPU, RAM, and disk percentages in the native test. Temperature was absent. Running the sensor command produced:
.\glance.exe sensors:print
Failed to retrieve sensor information: Exception occurred. (Not supported )
That is expected on the tested host.
Glance’s server-stats documentation says temperature is omitted when the widget cannot find a suitable sensor. The missing number did not stop the other Windows statistics from rendering.
Docker Containers shows a socket error
Do not add this widget to a no-Docker setup:
- type: docker-containers
The Docker Containers reference says the widget requires access to docker.sock and defaults to /var/run/docker.sock. On the native Windows machine, it tried that Unix path and returned a socket error. Removing the widget is the correct fix when you do not run Docker.
Remove it.
If your goal is managing Compose stacks rather than displaying a home page, Glance is the wrong layer. Dockge manages Compose files; Glance links to services and summarizes them.
Fix three captured startup failures
Glance says glance.yml is missing
Running v0.8.6 from an empty folder returned exit code 1 and this exact message:
parsing config: reading glance.yml: open glance.yml: The system cannot find the file specified.
Put glance.yml beside the executable or pass the full path with --config.
Check the folder first.
Glance logs a config error but the exit code is zero
In this Windows capture, a file containing only pages: [] logged:
Config has errors: no pages configured
That specific invalid run returned exit code 0. Do not use the process exit code alone as proof that a config is valid. Read the console and run config:validate before starting the dashboard.
Read the error, not only the code.
The browser cannot connect
First check that the Glance console is still open and that its start line names the same host and port you entered in the browser. Then inspect the listener:
Get-NetTCPConnection -LocalPort 8080 -State Listen
With the config above, the local address should be 127.0.0.1. If another process already owns 8080, select another unused port in both server.port and the Glance self-check URL.
The setup I would keep
Keep the native dashboard small at first: clock, calendar, local server stats, and a handful of service links. Leave it on loopback until you have a deliberate remote-access design. Remove widgets whose dependencies do not exist on the Windows host rather than accepting a permanent red error card.
Glance v0.8.6 was quick to start and stayed modest in this capture, but the more useful result was failure behavior: a bad live edit preserved the last valid page, missing temperature did not break CPU/RAM/disk, and the Docker widget failed loudly instead of pretending the socket existed. Those are the boundaries that make the dashboard predictable.
Sources
- Glance: v0.8.6 release and Windows archive digests
- Glance: official README and Windows binary setup
- Glance: configuration, auto reload, server, monitor, Docker, and server-stats reference
Frequently asked questions
Can Glance run on Windows without Docker?
What port does the Glance dashboard use?
Where does glance.yml go on Windows?
Does Glance reload the dashboard when I save glance.yml?
Why does the Docker Containers widget fail on Windows?
Why does Glance show CPU, RAM, and disk but no temperature on Windows?
Sources and corrections
- Last updated
- Methodology
- See our methodology for research and review standards.
- Corrections
- Spotted an error or a stale number? Email contact@techfuelhq.com. Confirmed corrections are recorded here with the date and change.