Files
home-network-k3s-impl/platform/homepage/configmap.yaml
T
jakman85andClaude Opus 4.8 cde2cd138f plex: add env vars (PLEX_UID/GID, TZ, ALLOWED_NETWORKS); homepage: rename Overseerr->Seerr
Plex Deployment had no Plex env vars. Add via the ServiceDefinition env list
(rendered verbatim by catalog/render.py):
- PLEX_UID/PLEX_GID=1000 (image chowns /config to this and drops; matches the
  Longhorn ownership convention seerr/semaphore use)
- TZ=Etc/UTC (no other service sets TZ repo-wide)
- ALLOWED_NETWORKS=10.0.0.0/8,192.168.0.0/16 so in-cluster clients (Seerr ->
  plex:32400) are trusted as LAN (pod CIDR 10.0.0.0/16 + svc 10.43.0.0/16 + LAN)

PLEX_CLAIM intentionally not set (4-min TTL is unusable via git; one-time live
claim persists on /config). ADVERTISE_IP deferred: the only candidate host
resolves via split-horizon DNS to the internal Gateway VIP and its remote
reachability is unverified — a wrong value breaks remote access, so omitted
per prefer-safety, documented as a follow-up in catalog/plex.yaml.

Homepage still labeled seerr as "Overseerr"; renamed the tile to "Seerr"
(icon mdi-play-box-multiple keeps — not overseerr-specific).

Co-Authored-By: Claude Opus 4.8 <[email protected]>
2026-08-28 13:20:34 -05:00

144 lines
4.8 KiB
YAML

---
# Homepage configuration (gethomepage). Each key is mounted read-only into /app/config via a subPath
# (deployment.yaml) — the exact file set the app expects (services/settings/bookmarks/widgets +
# docker/kubernetes/proxmox + custom.css/js). Plain link tiles only: NO service-widget API keys are wired
# here (that needs per-service secrets — flagged as a follow-up), so nothing sensitive lives in this
# ConfigMap. Icons use the app-BUNDLED Material Design set (`mdi-*`) so no icon CDN is fetched and the
# pod's egress stays DNS-only (networkpolicy.yaml). Brand icons (selfh.st/dashboard-icons) would need
# world:443 egress — deliberately not used.
apiVersion: v1
kind: ConfigMap
metadata:
name: homepage
namespace: homepage
labels:
app.kubernetes.io/name: homepage
data:
settings.yaml: |
---
title: Home Network
headerStyle: clean
theme: dark
color: slate
hideVersion: true
layout:
Platform:
style: row
columns: 3
Media:
style: row
columns: 3
Network & Infra:
style: row
columns: 3
services.yaml: |
---
- Platform:
- Headlamp:
href: https://headlamp.home.keithjackson.dev
description: Kubernetes dashboard (per-user OIDC RBAC)
icon: mdi-kubernetes
- Grafana:
href: https://grafana.home.keithjackson.dev
description: Metrics, logs & dashboards (fronts Prometheus/Loki/Alertmanager)
icon: mdi-chart-areaspline
- Semaphore:
href: https://semaphore.home.keithjackson.dev
description: Ansible automation & CI
icon: mdi-cog-play
- Gitea:
href: https://gitea.home.keithjackson.dev
description: Git hosting & Actions (GitOps source of truth)
icon: mdi-git
- Keycloak:
href: https://keycloak.home.keithjackson.dev
description: Identity provider (SSO / OIDC)
icon: mdi-account-key
- Media:
- Plex:
href: https://plex.home.keithjackson.dev
description: Media streaming
icon: mdi-plex
- Seerr:
href: https://seerr.home.keithjackson.dev
description: Media requests
icon: mdi-play-box-multiple
- Sonarr:
href: https://sonarr.home.keithjackson.dev
description: TV library manager
icon: mdi-television-classic
- Radarr:
href: https://radarr.home.keithjackson.dev
description: Movie library manager
icon: mdi-movie-open
- Jackett:
href: https://jackett.home.keithjackson.dev
description: Indexer proxy
icon: mdi-magnify
- qBittorrent:
href: https://qbittorrent.home.keithjackson.dev
description: Download client (VPN egress)
icon: mdi-download-network
- Network & Infra:
- Pi-hole:
href: https://pihole.home.keithjackson.dev
description: Network-wide DNS & ad-blocking
icon: mdi-shield-check
- UniFi:
href: https://unifi.home.keithjackson.dev:11443
description: Network controller (UOS)
icon: mdi-router-network
- Nextcloud:
href: https://nextcloud.home.keithjackson.dev
description: Files, calendar & contacts
icon: mdi-cloud
bookmarks.yaml: |
---
- Operations:
- Gitea (external):
- abbr: GT
href: https://gitea.keithjackson.dev
- Auth portal:
- abbr: SSO
href: https://auth.home.keithjackson.dev
- Reference:
- Homepage docs:
- abbr: HP
href: https://gethomepage.dev
widgets.yaml: |
---
- datetime:
text_size: xl
format:
dateStyle: long
timeStyle: short
hour12: false
- search:
provider: duckduckgo
target: _blank
# No Docker integration (Homepage does not reach the Docker socket in-cluster).
docker.yaml: |
---
# No Kubernetes integration (no SA / cluster RBAC granted — avoids scope creep; the kubernetes
# widget would need a read-only ServiceAccount. Left empty deliberately).
kubernetes.yaml: |
---
# No Proxmox integration. Homepage v2.1.2 treats proxmox.yaml as a REQUIRED config file (it is in
# the image skeleton dir /app/src/skeleton) and copies a default skeleton into /app/config when it
# is missing — which EACCES-crashes the pod because the config dir is a read-only subPath mount.
# Provide it here (empty) so Homepage finds it and never writes at runtime. A live PVE widget would
# need pve url/token/secret in a Secret — deliberately not wired.
proxmox.yaml: |
---
custom.css: ""
custom.js: ""