Add Glance homelab dashboard stack

This commit is contained in:
2026-05-17 16:51:43 +02:00
parent 29eaf8001f
commit c3c8060ddf
10 changed files with 657 additions and 1 deletions
+568
View File
@@ -0,0 +1,568 @@
server:
proxied: true
branding:
app-name: KalliLab Dashboard
logo-text: KL
hide-footer: true
theme:
background-color: 220 13 11
primary-color: 170 56 58
positive-color: 135 42 52
negative-color: 0 72 62
contrast-multiplier: 1.15
text-saturation-multiplier: 0.8
disable-picker: false
pages:
- name: Homelab
slug: home
width: wide
head-widgets:
- type: search
search-engine: duckduckgo
new-tab: true
autofocus: true
placeholder: Suche im Web oder springe per Bang...
bangs:
- title: Gitea
shortcut: "!git"
url: https://git.kaleschke.info/explore/repos?q={QUERY}
- title: Paperless
shortcut: "!doc"
url: https://paperless.kaleschke.info/documents?query={QUERY}
- title: Nextcloud
shortcut: "!cloud"
url: https://cloud.kaleschke.info/apps/files/?dir=/{QUERY}
- title: Komodo
shortcut: "!komodo"
url: https://komodo.kaleschke.info
columns:
- size: small
widgets:
- type: clock
hour-format: 24h
timezones:
- timezone: Europe/Berlin
label: Berlin
- type: calendar
first-day-of-week: monday
- type: dns-stats
title: AdGuard DNS
service: adguard
url: http://adguard
username: ${GLANCE_ADGUARD_USERNAME}
password: ${GLANCE_ADGUARD_PASSWORD}
hour-format: 24h
- type: server-stats
title: Host Snapshot
servers:
- type: local
name: Kallilabcore
hide-mountpoints-by-default: false
- type: bookmarks
title: Direkte Einstiege
groups:
- title: Core
color: 170 56 58
links:
- title: Home
url: https://home.kaleschke.info
icon: sh:homepage
- title: Komodo
url: https://komodo.kaleschke.info
icon: sh:komodo
- title: Gitea
url: https://git.kaleschke.info
icon: si:gitea
- title: Monitoring
url: https://monitoring.kaleschke.info
icon: si:grafana
- title: Ops
color: 45 70 55
links:
- title: Borg
url: https://borg.kaleschke.info
icon: mdi:archive
- title: Uptime
url: https://uptime.kaleschke.info
icon: sh:uptime-kuma
- title: Glances
url: https://glances.kaleschke.info
icon: sh:glances
- title: Scrutiny
url: https://scrutiny.kaleschke.info
icon: sh:scrutiny
- size: full
widgets:
- type: monitor
title: Core, Security und Ingress
cache: 1m
sites:
- title: Traefik
url: https://traefik.kaleschke.info
icon: si:traefikproxy
alt-status-codes: [200, 302, 401, 403]
- title: Authelia
url: https://auth.kaleschke.info
icon: si:authelia
alt-status-codes: [200, 302, 401, 403]
- title: Gitea
url: https://git.kaleschke.info
icon: si:gitea
alt-status-codes: [200, 302, 401, 403]
- title: Komodo
url: https://komodo.kaleschke.info
icon: sh:komodo
alt-status-codes: [200, 302, 401, 403]
- title: Vaultwarden
url: https://vault.kaleschke.info
icon: si:vaultwarden
alt-status-codes: [200, 302, 401, 403]
- title: AdGuard Home
url: http://192.168.178.58:8082
check-url: http://adguard
icon: si:adguard
alt-status-codes: [200, 302, 401, 403]
- type: monitor
title: Apps
cache: 1m
sites:
- title: Paperless-ngx
url: https://paperless.kaleschke.info
icon: sh:paperless-ngx
alt-status-codes: [200, 302, 401, 403]
- title: Paperless-GPT
url: https://paperless-gpt.kaleschke.info
icon: mdi:robot
alt-status-codes: [200, 302, 401, 403]
- title: Immich
url: https://immich.kaleschke.info
icon: si:immich
alt-status-codes: [200, 302, 401, 403]
- title: Mealie
url: https://mealie.kaleschke.info
icon: sh:mealie
alt-status-codes: [200, 302, 401, 403]
- title: Nextcloud
url: https://cloud.kaleschke.info
icon: si:nextcloud
alt-status-codes: [200, 302, 401, 403]
- title: ntfy
url: https://ntfy.kaleschke.info
icon: si:ntfy
alt-status-codes: [200, 302, 401, 403]
- title: Mail Archiver
url: https://mail.kaleschke.info
icon: mdi:email-archive
alt-status-codes: [200, 302, 401, 403]
- title: BentoPDF
url: https://pdf.kaleschke.info
icon: mdi:file-pdf-box
alt-status-codes: [200, 302, 401, 403]
- type: monitor
title: Operations und Observability
cache: 1m
sites:
- title: Glance
url: https://glance.kaleschke.info
icon: sh:glance
alt-status-codes: [200, 302, 401, 403]
- title: Homepage
url: https://home.kaleschke.info
icon: sh:homepage
alt-status-codes: [200, 302, 401, 403]
- title: Monitoring Grafana
url: https://monitoring.kaleschke.info
icon: si:grafana
alt-status-codes: [200, 302, 401, 403]
- title: Uptime Kuma
url: https://uptime.kaleschke.info
icon: sh:uptime-kuma
alt-status-codes: [200, 302, 401, 403]
- title: Glances
url: https://glances.kaleschke.info
icon: sh:glances
alt-status-codes: [200, 302, 401, 403]
- title: Scrutiny
url: https://scrutiny.kaleschke.info
icon: sh:scrutiny
alt-status-codes: [200, 302, 401, 403]
- title: Speedtest Tracker
url: https://speedtest.kaleschke.info
icon: sh:speedtest-tracker
alt-status-codes: [200, 302, 401, 403]
- title: Filebrowser
url: https://files.kaleschke.info
icon: sh:filebrowser
alt-status-codes: [200, 302, 401, 403]
- title: code-server
url: https://code.kaleschke.info
icon: sh:code-server
alt-status-codes: [200, 302, 401, 403]
- title: Borg UI
url: https://borg.kaleschke.info
icon: mdi:archive-sync
alt-status-codes: [200, 302, 401, 403]
- title: Hermes
url: https://hermes.kaleschke.info
icon: mdi:shield-sparkles
alt-status-codes: [200, 302, 401, 403]
- size: small
widgets:
- type: docker-containers
title: Core Container
category: core
hide-by-default: true
sock-path: tcp://glance-docker-socket-proxy:2375
containers: &containers
traefik:
name: Traefik
icon: si:traefikproxy
url: https://traefik.kaleschke.info
description: Reverse Proxy
category: core
hide: false
gitea:
name: Gitea
icon: si:gitea
url: https://git.kaleschke.info
description: GitOps Origin
category: core
hide: false
authelia:
name: Authelia
icon: si:authelia
url: https://auth.kaleschke.info
description: ForwardAuth
category: core
hide: false
vaultwarden:
name: Vaultwarden
icon: si:vaultwarden
url: https://vault.kaleschke.info
description: Password Vault
category: core
hide: false
postgresql17:
name: PostgreSQL 17
icon: si:postgresql
description: Shared DB
category: core
hide: false
Redis:
name: Redis
icon: si:redis
description: Shared Cache
category: core
hide: false
adguard:
name: AdGuard
icon: si:adguard
url: http://192.168.178.58:8082
description: DNS Filter
category: core
hide: false
unbound:
name: Unbound
icon: mdi:dns
description: Upstream Resolver
category: core
hide: false
Tailscale-Docker:
name: Tailscale
icon: si:tailscale
description: VPN
category: core
hide: false
ddns-updater:
name: DDNS Updater
icon: mdi:cloud-sync
description: Cloudflare DNS
category: core
hide: false
paperless-ngx:
name: Paperless-ngx
icon: sh:paperless-ngx
url: https://paperless.kaleschke.info
description: Dokumente
category: apps
hide: false
paperless-gpt:
name: Paperless-GPT
icon: mdi:robot
url: https://paperless-gpt.kaleschke.info
description: Dokumenten-KI
category: apps
hide: false
immich_server:
name: Immich
icon: si:immich
url: https://immich.kaleschke.info
description: Fotos und Videos
category: apps
id: immich
hide: false
immich_postgres:
name: DB
parent: immich
category: apps
hide: false
immich_redis:
name: Redis
parent: immich
category: apps
hide: false
immich_machine_learning:
name: ML
parent: immich
category: apps
hide: false
mealie:
name: Mealie
icon: sh:mealie
url: https://mealie.kaleschke.info
description: Rezepte
category: apps
id: mealie
hide: false
mealie-postgres:
name: DB
parent: mealie
category: apps
hide: false
nextcloud:
name: Nextcloud
icon: si:nextcloud
url: https://cloud.kaleschke.info
description: Dateien und Sync
category: apps
id: nextcloud
hide: false
nextcloud-postgres:
name: DB
parent: nextcloud
category: apps
hide: false
nextcloud-redis:
name: Redis
parent: nextcloud
category: apps
hide: false
mail-archiver:
name: Mail Archiver
icon: mdi:email-archive
url: https://mail.kaleschke.info
description: Mail-Archiv
category: apps
hide: false
ntfy:
name: ntfy
icon: si:ntfy
url: https://ntfy.kaleschke.info
description: Push Alerts
category: apps
hide: false
bentopdf:
name: BentoPDF
icon: mdi:file-pdf-box
url: https://pdf.kaleschke.info
description: PDF Tools
category: apps
hide: false
homepage:
name: Homepage
icon: sh:homepage
url: https://home.kaleschke.info
description: Bestehendes Start-Dashboard
category: ops
hide: false
glance:
name: Glance
icon: sh:glance
url: https://glance.kaleschke.info
description: Homelab Uebersicht
category: ops
hide: false
glance-docker-socket-proxy:
name: Glance Socket Proxy
icon: si:docker
description: Read-only Docker API
category: ops
hide: false
monitoring-grafana:
name: Monitoring Grafana
icon: si:grafana
url: https://monitoring.kaleschke.info
description: Observability UI
category: ops
id: monitoring
hide: false
monitoring-prometheus:
name: Prometheus
parent: monitoring
category: ops
hide: false
monitoring-loki:
name: Loki
parent: monitoring
category: ops
hide: false
monitoring-promtail:
name: Promtail
parent: monitoring
category: ops
hide: false
monitoring-alertmanager:
name: Alertmanager
parent: monitoring
category: ops
hide: false
monitoring-alertmanager-ntfy-bridge:
name: ntfy Bridge
parent: monitoring
category: ops
hide: false
monitoring-blackbox-exporter:
name: Blackbox
parent: monitoring
category: ops
hide: false
monitoring-node-exporter:
name: Node Exporter
parent: monitoring
category: ops
hide: false
monitoring-cadvisor:
name: cAdvisor
parent: monitoring
category: ops
hide: false
monitoring-influxdb3-core:
name: InfluxDB 3
parent: monitoring
category: ops
hide: false
uptime-kuma:
name: Uptime Kuma
icon: sh:uptime-kuma
url: https://uptime.kaleschke.info
description: Uptime Checks
category: ops
hide: false
glances:
name: Glances
icon: sh:glances
url: https://glances.kaleschke.info
description: Host-Monitoring
category: ops
hide: false
scrutiny:
name: Scrutiny
icon: sh:scrutiny
url: https://scrutiny.kaleschke.info
description: SMART
category: ops
hide: false
speedtest-tracker:
name: Speedtest
icon: sh:speedtest-tracker
url: https://speedtest.kaleschke.info
description: WAN-Messung
category: ops
hide: false
filebrowser:
name: Filebrowser
icon: sh:filebrowser
url: https://files.kaleschke.info
description: Dateizugriff
category: ops
hide: false
code-server:
name: code-server
icon: sh:code-server
url: https://code.kaleschke.info
description: Web IDE
category: ops
hide: false
borg-ui:
name: Borg UI
icon: mdi:archive-sync
url: https://borg.kaleschke.info
description: Backup und Restore
category: ops
hide: false
hermes-dashboard:
name: Hermes
icon: mdi:shield-sparkles
url: https://hermes.kaleschke.info
description: Ops Agent UI
category: ops
id: hermes
hide: false
hermes-gateway:
name: Gateway
parent: hermes
category: ops
hide: false
komodo-core:
name: Komodo
icon: sh:komodo
url: https://komodo.kaleschke.info
description: Stack Manager
category: ops
id: komodo
hide: false
komodo-mongo:
name: Mongo
parent: komodo
category: ops
hide: false
komodo-periphery:
name: Periphery
parent: komodo
category: ops
hide: false
- type: docker-containers
title: App Container
category: apps
hide-by-default: true
sock-path: tcp://glance-docker-socket-proxy:2375
containers: *containers
- type: docker-containers
title: Ops Container
category: ops
hide-by-default: true
sock-path: tcp://glance-docker-socket-proxy:2375
containers: *containers
- type: releases
title: Relevante Releases
cache: 6h
show-source-icon: true
collapse-after: 6
repositories:
- glanceapp/glance
- traefik/traefik
- go-gitea/gitea
- authelia/authelia
- vaultwarden/server
- paperless-ngx/paperless-ngx
- immich-app/immich
- mealie-recipes/mealie
- nextcloud/server
- binwiederhier/ntfy
- louislam/uptime-kuma
- grafana/grafana
- prometheus/prometheus
+54
View File
@@ -0,0 +1,54 @@
services:
glance:
image: glanceapp/glance:v0.8.4
container_name: glance
restart: unless-stopped
environment:
TZ: Europe/Berlin
GLANCE_ADGUARD_USERNAME: ${GLANCE_ADGUARD_USERNAME}
GLANCE_ADGUARD_PASSWORD: ${GLANCE_ADGUARD_PASSWORD}
volumes:
- ./config:/app/config:ro
networks:
- frontend_net
- glance_socket_net
depends_on:
- glance-docker-socket-proxy
labels:
- traefik.enable=true
- traefik.docker.network=frontend_net
- traefik.http.routers.glance.rule=Host(`glance.kaleschke.info`)
- traefik.http.routers.glance.entrypoints=websecure
- traefik.http.routers.glance.tls=true
- traefik.http.routers.glance.tls.certresolver=le
- traefik.http.routers.glance.middlewares=authelia@file,secure-headers@file
- traefik.http.services.glance.loadbalancer.server.port=8080
security_opt:
- no-new-privileges:true
glance-docker-socket-proxy:
image: tecnativa/docker-socket-proxy:0.4.2
container_name: glance-docker-socket-proxy
restart: unless-stopped
environment:
LOG_LEVEL: warning
POST: "0"
CONTAINERS: "1"
INFO: "1"
VERSION: "1"
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
networks:
- glance_socket_net
expose:
- "2375"
security_opt:
- no-new-privileges:true
networks:
frontend_net:
external: true
glance_socket_net:
name: glance_socket_net
internal: true
driver: bridge
+2
View File
@@ -0,0 +1,2 @@
GLANCE_ADGUARD_USERNAME=admin
GLANCE_ADGUARD_PASSWORD=change-me