--- title: homepage created: 2026-04-29 updated: 2026-04-29 type: entity tags: [services, docker, homelab] sources: [] --- # 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](https://gethomepage.dev/) 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 ```yaml 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 ```yaml 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`: ```yaml # 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:3003` - `homepage-grizzley-svc` → `http://192.168.50.84:3000` ## Settings (ubuntu instance) From `settings.yaml`: ```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`: ```yaml - resources: cpu: true memory: true disk: / - search: provider: duckduckgo target: _blank ``` From `docker.yaml`: ```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`: ```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): ```yaml # 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-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)