- Full Obsidian vault content - Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte) - Media stack documentation - Traefik HA setup - Automation scripts - Bachelor party planning
12 KiB
title, created, updated, type, tags, sources
| title | created | updated | type | tags | sources | |||
|---|---|---|---|---|---|---|---|---|
| homepage | 2026-04-29 | 2026-04-29 | entity |
|
homepage
Role: Unified homelab dashboard — service bookmarks, Docker widget, infrastructure status
Image: gethomepage/homepage:latest
Websites: See Traefik routes below
Overview
Two Homepage instances provide a unified dashboard for the homelab. GetHomepage is a modern, configurable dashboard for homelab services. It uses Docker socket integration for live container status, widgets for service metrics, and Traefik for ingress routing.
| Instance | Host | Port | Network | Traefik Route |
|---|---|---|---|---|
homepage-ubuntu |
ubuntu | 3003 | proxy-net |
homepage.local.tophermayor.com, homepage-ubuntu.local.tophermayor.com |
homepage-grizzley |
grizzley | 3000 | traefik-proxy |
homepage-grizzley.local.tophermayor.com |
Traefik VIP routing: homepage.local.tophermayor.com → homepage-to-self → http://192.168.50.61:3003 (ubuntu). The grizzley instance is accessible at homepage-grizzley.local.tophermayor.com.
Docker Configuration
homepage-ubuntu
container_name: homepage-ubuntu
image: gethomepage/homepage:latest
network: proxy-net
ports: 3003
bind mount: /home/bear/homelab/ubuntu/homepage/config → /app/config
docker socket: /var/run/docker.sock (read-only)
memory limit: (none set — uses host resources)
Config path: /home/bear/homelab/ubuntu/homepage/config/
homepage-grizzley
container_name: homepage-grizzley
image: ghcr.io/gethomepage/homepage:latest
network: traefik-proxy
ports: 3000
bind mount: /home/bear/homelab/grizzley/docker/homepage/config → /app/config
docker socket: /var/run/docker.sock (read-only)
memory limit: 256MB (hard), 64MB (reserved)
allowed hosts: homepage.local.tophermayor.com, homepage-grizzley.local.tophermayor.com, 192.168.50.84:3000
Config path: /home/bear/homelab/grizzley/docker/homepage/config/
Traefik Routes (ubuntu Traefik)
From homelab/ubuntu/traefik/config/dynamic/upstream-ingress.yml:
# Primary VIP route → ubuntu instance
homepage-vip:
rule: "Host(`homepage.local.tophermayor.com`)"
entryPoints: [websecure]
service: homepage-to-self
priority: 100
tls: {}
# Direct ubuntu route
homepage-local:
rule: "Host(`homepage-ubuntu.local.tophermayor.com`)"
entryPoints: [websecure]
service: homepage-to-self
priority: 100
tls: {}
# grizzley backup route (bypasses VIP)
homepage-backup-grizzley:
rule: "Host(`homepage-grizzley.local.tophermayor.com`)"
entryPoints: [websecure]
service: homepage-grizzley-svc
priority: 100
tls: {}
Services:
homepage-to-self→http://192.168.50.61:3003homepage-grizzley-svc→http://192.168.50.84:3000
Settings (ubuntu instance)
From settings.yaml:
title: Ubuntu Homepage
description: Homelab dashboard — all hosts.
target: _self
theme: dark
color: slate
iconStyle: theme
background:
image: https://images.unsplash.com/photo-1451187580459-43490279c0fa?auto=format&fit=crop&w=2560&q=80
opacity: 28
brightness: 55
saturate: 60
cardBlur: md
Layout (4-column rows by section):
- Media Servers (4 cols)
- Media Automation (5 cols)
- Grizzley (4 cols)
- Apps (4 cols)
- Infrastructure (4 cols)
Widgets (ubuntu instance)
From widgets.yaml:
- resources:
cpu: true
memory: true
disk: /
- search:
provider: duckduckgo
target: _blank
From docker.yaml:
ubuntu:
socket: /var/run/docker.sock
Docker socket integration provides live container status for all services on ubuntu.
Services Displayed (ubuntu homepage)
Media Servers
| Service | URL | Widget |
|---|---|---|
| Jellyfin | https://jellyfin.tophermayor.com | Jellyfin widget (http://jellyfin:8096, key 3aabf1af...) |
| Immich | https://immich.tophermayor.com | — |
| Navidrome | https://navidrome.tophermayor.com | — |
| Audiobookshelf | https://audiobooks.tophermayor.com | — |
| Kavita | https://kavita.tophermayor.com | — |
| Calibre-Web | https://calibre-web.local.tophermayor.com | — |
| Stremio | https://stremio.local.tophermayor.com | — |
Media Automation
| Service | URL | Widget |
|---|---|---|
| Gluetun VPN | (internal) | Gluetun widget (http://gluetun:8000, v2) |
| Sonarr | https://sonarr.local.tophermayor.com | Sonarr widget (key 0573d93d...) |
| Sonarr Anime | https://sonarr-anime.local.tophermayor.com | Sonarr widget (key 84de4e4a...) |
| Radarr | https://radarr.local.tophermayor.com | Radarr widget (key d69cafc9...) |
| Radarr Anime | https://radarr-anime.local.tophermayor.com | Radarr widget (key d4373fbc...) |
| Lidarr | https://lidarr.local.tophermayor.com | Lidarr widget (key 55921016...) |
| Readarr | https://readarr.local.tophermayor.com | — |
| Prowlarr | https://prowlarr.local.tophermayor.com | — |
| qBittorrent | https://qbittorrent.local.tophermayor.com | — |
| SABnzbd | https://sabnzbd.local.tophermayor.com | SABnzbd widget (key 01d3c44b...) |
| NZBdav | https://nzbdav.local.tophermayor.com | — |
| Seerr | https://jellyseerr.tophermayor.com | Overseerr widget (key MTc2NTIy...) |
Grizzley (links through to grizzley-hosted services)
| Service | URL |
|---|---|
| Homepage Grizzley | https://homepage-grizzley.local.tophermayor.com |
| Traefik Grizzley | https://traefik-grizzley.local.tophermayor.com |
| Komodo | https://komodo.local.tophermayor.com |
| AIOManager | https://aiomanager.tophermayor.com |
| AIOStreams | https://aiostreams.tophermayor.com |
| AIOMetadata | https://aiometadata.tophermayor.com |
| Vaultwarden | https://vaultwarden.tophermayor.com |
| Status (Uptime Kuma) | https://status.tophermayor.com |
Apps
| Service | URL | Widget |
|---|---|---|
| Authentik | https://auth.tophermayor.com | — |
| Gitea | https://gitea.tophermayor.com | — |
| Home Assistant | https://ha.tophermayor.com | HomeAssistant widget (key eyJhbG..., fields: people_home, lights_on, switches_on) |
| OpenCode | https://opencode.tophermayor.com | — |
| OpenCode Ice | https://opencode-ice.local.tophermayor.com | — |
| Whisper | https://whisper.local.tophermayor.com | — |
Infrastructure
| Service | URL | Widget |
|---|---|---|
| Traefik | https://traefik.local.tophermayor.com | Traefik widget (http://traefik:8080) |
| Proxmox | https://proxmox.local.tophermayor.com | Proxmox widget (user: homepage@pam!homepage, node: pve) |
| TrueNAS | https://truenas.local.tophermayor.com | TrueNAS widget (key 1-SdjbJ...) |
| Grafana | https://grafana.local.tophermayor.com | — |
| Prometheus | https://prometheus.local.tophermayor.com | Prometheus widget (http://prometheus:9090) |
| Reccollection | https://reccollection.local.tophermayor.com | — |
Services Displayed (grizzley homepage)
Grizzley (local services)
| Service | URL | Widget |
|---|---|---|
| Traefik | https://traefik-grizzley.local.tophermayor.com | Traefik widget (http://traefik-pi:8080) |
| Komodo | https://komodo.local.tophermayor.com | Komodo widget (key K_jjWNbR..., secret S_IHGCW15...) |
| AIOManager | https://aiomanager.tophermayor.com | — |
| AIOStreams | https://aiostreams.tophermayor.com | — |
| AIOMetadata | https://aiometadata.tophermayor.com | — |
| Vaultwarden | https://vaultwarden.tophermayor.com | — |
| Status (Uptime Kuma) | https://status.tophermayor.com | UptimeKuma widget (slug: default) |
| Minecraft Standby | (UDP 19132) | — |
| Minecraft Sison | (UDP 19134) | — |
| Jellyfin Standby | (internal) | — |
Ubuntu (linked)
| Service | URL |
|---|---|
| Homepage Ubuntu | https://homepage-ubuntu.local.tophermayor.com |
| Traefik Ubuntu | https://traefik.local.tophermayor.com |
| OpenCode | https://opencode.tophermayor.com |
| Authentik | https://auth.tophermayor.com |
| Gitea | https://gitea.tophermayor.com |
| Whisper | https://whisper.local.tophermayor.com |
| Stremio Server | https://stremio.local.tophermayor.com |
| Reccollection | https://reccollection.local.tophermayor.com |
Media (ubuntu via links)
| Service | URL |
|---|---|
| Jellyfin | https://jellyfin.tophermayor.com |
| Seerr | https://jellyseerr.tophermayor.com |
| Immich | https://immich.tophermayor.com |
| Navidrome | https://navidrome.tophermayor.com |
| Audiobookshelf | https://audiobooks.tophermayor.com |
| Kavita | https://kavita.tophermayor.com |
| Calibre-Web | https://calibre-web.local.tophermayor.com |
Media Automation (ubuntu via links)
| Service | URL | Widget |
|---|---|---|
| Sonarr | https://sonarr.local.tophermayor.com | Sonarr (key 0573d93d...) |
| Radarr | https://radarr.local.tophermayor.com | Radarr (key d69cafc9...) |
| Lidarr | https://lidarr.local.tophermayor.com | Lidarr (key 55921016...) |
| Readarr | https://readarr.local.tophermayor.com | — |
| Prowlarr | https://prowlarr.local.tophermayor.com | — |
| qBittorrent | https://qbittorrent.local.tophermayor.com | — |
| SABnzbd | https://sabnzbd.local.tophermayor.com | SABnzbd (key 01d3c44b...) |
| Sonarr Anime | https://sonarr-anime.local.tophermayor.com | Sonarr (key 84de4e4a...) |
| Radarr Anime | https://radarr-anime.local.tophermayor.com | Radarr (key d4373fbc...) |
Apps (ubuntu via links)
| Service | URL | Widget |
|---|---|---|
| Home Assistant | https://ha.tophermayor.com | HomeAssistant (key eyJhbG..., fields: people_home, lights_on, switches_on) |
| OpenCode Ice | https://opencode-ice.local.tophermayor.com | — |
Infrastructure (ubuntu via links)
| Service | URL | Widget |
|---|---|---|
| Proxmox | https://proxmox.local.tophermayor.com | Proxmox (user homepage@pam!homepage, node pve) |
| TrueNAS | https://truenas.local.tophermayor.com | TrueNAS (key 1-SdjbJ...) |
| Grafana | https://grafana.local.tophermayor.com | — |
| Prometheus | https://prometheus.local.tophermayor.com | — |
Bookmark Groups (ubuntu)
From bookmarks.yaml:
- Developer:
- Github (abbr: GH) → https://github.com/
- Social:
- Reddit (abbr: RE) → https://reddit.com/
- Entertainment:
- YouTube (abbr: YT) → https://youtube.com/
Kubernetes / Proxmox Configs
Both instances have kubernetes.yaml and proxmox.yaml for additional infrastructure widgets.
Upstream Ingress Widget Routes (Traefik)
From homelab/ubuntu/traefik/config/dynamic/homepage-widgets.yml — Traefik routes exposed through homepage for internal service access (not homepage's own routes):
# Routes via gluetun VPN for media services
sonarr-svc: http://gluetun:8989 # Host(`sonarr-internal.local.tophermayor.com`)
radarr-svc: http://gluetun:7878 # Host(`radarr-internal.local.tophermayor.com`)
lidarr-svc: http://gluetun:8686 # Host(`lidarr-internal.local.tophermayor.com`)
sabnzbd-svc: http://gluetun:8080 # Host(`sabnzbd-internal.local.tophermayor.com`)
seerr-svc: http://seerr:5055 # Host(`seerr-internal.local.tophermayor.com`)
jellyfin-svc: http://jellyfin:8096 # Host(`jellyfin-internal.local.tophermayor.com`)
prometheus-svc: http://prometheus:9090 # Host(`prometheus-internal.local.tophermayor.com`)
These are the *-internal.local.tophermayor.com routes — accessible only inside the network via gluetun VPN tunnel.
Access URLs
| URL | Host | Notes |
|---|---|---|
| https://homepage.local.tophermayor.com | ubuntu | Primary VIP route |
| https://homepage-ubuntu.local.tophermayor.com | ubuntu | Direct ubuntu instance |
| https://homepage-grizzley.local.tophermayor.com | grizzley | Direct grizzley instance |
Config Files
| File | Purpose |
|---|---|
services.yaml |
Service definitions, URLs, icons, widget configs |
settings.yaml |
Theme, layout, background image |
widgets.yaml |
Resource monitors, search bar |
docker.yaml |
Docker socket connection |
bookmarks.yaml |
Quick bookmarks bar |
kubernetes.yaml |
K8s widget config |
proxmox.yaml |
Proxmox widget config |
custom.css |
Custom styles |
custom.js |
Custom JavaScript |
Related
- ubuntu — Hosts
homepage-ubuntuon port 3003,proxy-net - grizzley — Hosts
homepage-grizzleyon port 3000,traefik-proxy - traefik — Ingress routing for all homepage instances
- media-stack — Media services displayed on homepage
- homelab-monitoring — Infrastructure widgets (Prometheus, Grafana, Proxmox, TrueNAS)