Files
hermes-ice/homelab/entities/homepage.md
Hermes Agent e4d91aadf9 Initial commit: homelab infrastructure wiki
- Full Obsidian vault content
- Host configs (ice, grizzley, ubuntu, proxmox, truenas, panda, hyte)
- Media stack documentation
- Traefik HA setup
- Automation scripts
- Bachelor party planning
2026-05-24 16:08:40 -07:00

12 KiB

title, created, updated, type, tags, sources
title created updated type tags sources
homepage 2026-04-29 2026-04-29 entity
services
docker
homelab

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.comhomepage-to-selfhttp://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-selfhttp://192.168.50.61:3003
  • homepage-grizzley-svchttp://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...)
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
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
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...)
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
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
  • ubuntu — Hosts homepage-ubuntu on port 3003, proxy-net
  • grizzley — Hosts homepage-grizzley on 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)