Quick answer

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.

CheckGlance v0.8.6 result
Official archiveglance-windows-amd64.zip, 6,518,780 bytes
SHA-256e92ca602a1b807f00310b1b70c8271fe779001a5648bb4a13e0f50e81355076c, matched GitHub’s release API
Process start to first HTTP 200565.4 ms
Working set at 35.8 seconds19.07 MiB
Private memory at 35.8 seconds53.24 MiB
Working set at 603.2 seconds25.64 MiB
Private memory at 603.2 seconds58.52 MiB
CPU time at 603.2 seconds2.234 seconds
Browser checkHTTP 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 operationNew page visible after
In-place file write606.6 ms
Atomic file replacement638.8 ms
Invalid live configError logged after 632.5 ms; old page stayed HTTP 200
Valid config restoredRecovered 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

Frequently asked questions

Can Glance run on Windows without Docker?
Yes. Glance publishes a Windows executable. Put glance.exe and glance.yml in the same folder, then run the executable and open the configured local address. My v0.8.6 test used the official Windows AMD64 archive directly, with no Docker installation.
What port does the Glance dashboard use?
Glance uses port 8080 by default. The server configuration accepts any unused port from 1 through 65,535. This guide keeps 8080 and binds it to 127.0.0.1 so only the Windows PC can open it.
Where does glance.yml go on Windows?
For this portable setup, put glance.yml in the same folder as glance.exe. Glance looks for that filename beside the executable by default. You can instead provide another path with the –config option.
Does Glance reload the dashboard when I save glance.yml?
Yes. Glance’s configuration reference documents automatic reload on save. In my Windows v0.8.6 capture, both an in-place write and an atomic file replacement reloaded in under 0.7 seconds. A bad live edit left the last valid page running until I restored valid YAML.
Why does the Docker Containers widget fail on Windows?
The widget defaults to the Unix socket /var/run/docker.sock and requires access to a Docker socket. A native Windows run without Docker has no such socket, so remove the widget. My no-Docker capture showed the failed Unix-socket request exactly as expected.
Why does Glance show CPU, RAM, and disk but no temperature on Windows?
The server-stats widget hides temperature when Glance cannot find a usable sensor. On the Windows 11 machine tested here, CPU, RAM, and disk rendered, while sensors:print returned a not-supported error. Missing temperature does not mean the other statistics failed.

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.

About the author

Written by Lowell K. Wood IV, who builds and runs TechFuelHQ from St. Louis, Missouri.