mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
Added glance
This commit is contained in:
@@ -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.
|
||||||
@@ -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
|
||||||
@@ -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
|
||||||
@@ -0,0 +1,6 @@
|
|||||||
|
# Glance
|
||||||
|
VOL_PATH=/data
|
||||||
|
TZ=America/Vancouver
|
||||||
|
GLANCE_IMAGE=glanceapp/glance:latest
|
||||||
|
GLANCE_RESTART=unless-stopped
|
||||||
|
GLANCE_PORT=8080
|
||||||
Reference in New Issue
Block a user