diff --git a/glance_dev/README.md b/glance_dev/README.md new file mode 100644 index 0000000..67be3a1 --- /dev/null +++ b/glance_dev/README.md @@ -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. diff --git a/glance_dev/compose.yaml b/glance_dev/compose.yaml new file mode 100644 index 0000000..0ea948f --- /dev/null +++ b/glance_dev/compose.yaml @@ -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 diff --git a/glance_dev/config/glance.yml b/glance_dev/config/glance.yml new file mode 100644 index 0000000..b748296 --- /dev/null +++ b/glance_dev/config/glance.yml @@ -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 diff --git a/glance_dev/sample.env b/glance_dev/sample.env new file mode 100644 index 0000000..784b510 --- /dev/null +++ b/glance_dev/sample.env @@ -0,0 +1,6 @@ +# Glance +VOL_PATH=/data +TZ=America/Vancouver +GLANCE_IMAGE=glanceapp/glance:latest +GLANCE_RESTART=unless-stopped +GLANCE_PORT=8080