Added glance

This commit is contained in:
2026-07-18 08:03:39 -07:00
parent b848cbfe28
commit a68d1b4060
4 changed files with 145 additions and 0 deletions
+79
View File
@@ -0,0 +1,79 @@
# Glance
## Overview
Glance is a self-hosted, fast-loading dashboard that pulls together bookmarks, RSS feeds, weather, service monitors, and more onto a single customizable page, configured entirely through one YAML file.
## Project Details
* Project Repository: https://github.com/glanceapp/glance
* Container Image: https://hub.docker.com/r/glanceapp/glance
* Documentation: https://github.com/glanceapp/glance/blob/main/docs/configuration.md
* Reverse Proxy Domain: glance.example.com
* Reverse Proxy Port: `8080`
## Getting Started
1. Copy the starter config into place, then edit it:
```bash
mkdir -p /data/glance/config
cp config/glance.yml /data/glance/config/glance.yml
nano /data/glance/config/glance.yml # add your own pages, widgets, and links
```
2. Copy env defaults: `cp sample.env .env`
3. Start the stack: `docker compose up -d`
4. Open `http://localhost:8080` (or your reverse proxy domain) in your browser
## Environment Variable Notes
```
GLANCE_IMAGE Docker image for Glance (default: glanceapp/glance:latest)
GLANCE_RESTART Restart policy (default: unless-stopped)
GLANCE_PORT Host port to publish (default: 8080)
VOL_PATH Base path for config volume (default: /data)
TZ Timezone (default: America/Vancouver)
```
## Volume Notes
```
${VOL_PATH}/glance/config glance.yml (required, see config/glance.yml starter) and any assets it references
```
Glance hot-reloads `glance.yml` on change, so config edits don't require a container restart.
## Network Notes
* Uses the external `proxy` network only — Glance is a single lightweight container with no backing database
* Widgets that monitor other services (e.g. `monitor`) reach them by container name if those services share the `proxy` network, or by LAN address otherwise
## Docker Run
```bash
docker run -d \
--name=glance \
-v /data/glance/config:/app/config \
-p 8080:8080 \
glanceapp/glance:latest
```
## Additional Notes / Gotchas
* All configuration lives in `glance.yml` — there is no setup wizard or admin UI
* The starter config includes example `clock`, `bookmarks`, `weather`, `monitor`, `rss`, and `server-stats` widgets; remove or replace what you don't need
* The `monitor` widget checks HTTP status only — it doesn't require the target service to expose any special metrics endpoint
* See the [widgets reference](https://github.com/glanceapp/glance/blob/main/docs/configuration.md#widgets) for the full list of available widget types
## Dockhand Stack, Deploy from Git
Cookbooks Repository
stackname: glance_dev
Compose file path: glance_dev/compose.yaml
Additional env file (optional): glance_dev/sample.env
Then "Load" glance_dev/sample.env into the Environmental variables in dockhand.
Ensure `glance.yml` exists at `${VOL_PATH}/glance/config/glance.yml` before deploying.
Create the Stack.
+16
View File
@@ -0,0 +1,16 @@
services:
glance:
image: ${GLANCE_IMAGE:-glanceapp/glance:latest}
restart: ${GLANCE_RESTART:-unless-stopped}
volumes:
- ${VOL_PATH:-/data}/glance/config:/app/config
environment:
- TZ=${TZ:-America/Vancouver}
ports:
- ${GLANCE_PORT:-8080}:8080
networks:
- proxy
networks:
proxy:
external: true
+44
View File
@@ -0,0 +1,44 @@
pages:
- name: Home
columns:
- size: small
widgets:
- type: clock
hour-format: 24h
- type: bookmarks
groups:
- title: General
links:
- title: Gmail
url: https://mail.google.com/mail/u/0/
- title: GitHub
url: https://github.com/
- type: weather
location: Vancouver, Canada
- size: full
widgets:
- type: monitor
title: Services
sites:
- title: Nginx Proxy Manager
url: http://nginx-proxy-manager:81
icon: si:nginxproxymanager
- type: rss
title: Latest News
limit: 10
collapse-after: 5
cache: 12h
feeds:
- url: https://selfh.st/rss/
title: selfh.st
- size: small
widgets:
- type: server-stats
servers:
- type: local
name: Host
+6
View File
@@ -0,0 +1,6 @@
# Glance
VOL_PATH=/data
TZ=America/Vancouver
GLANCE_IMAGE=glanceapp/glance:latest
GLANCE_RESTART=unless-stopped
GLANCE_PORT=8080