Sync HTPC Manifests to GitOps / Sync Manifests to GitOps Repo (push) Successful in 4s
5.0 KiB
5.0 KiB
HTPC & Media Services Platform
Beheert de configuratie, deployment en automatisering van de HTPC (Home Theater PC) en media-stack voor bnhmeijer.nl op vmserver (10.2.0.4).
🧭 Inhoudsopgave
📌 Overzicht
Deze repository bevat de Kubernetes manifests, configuraties en eventuele hulpscripts voor de HTPC mediadiensten. De workloads worden beheerd via GitOps (Gitea Actions en ArgoCD) binnen het homelab cluster.
🎬 Applicaties & Services
De HTPC omgeving omvat onder andere de volgende diensten:
| Service | Poort | Beschrijving |
|---|---|---|
| Jellyfin | 8096 |
Media streaming en playback server voor films, series en muziek |
| Sonarr | 8989 |
Automatisch beheer en downloaden van tv-series |
| Radarr | 7878 |
Automatisch beheer en downloaden van speelfilms |
| Lidarr | 8686 |
Automatisch beheer en downloaden van muziek |
| Bazarr | 6767 |
Ondertitelbeheer en synchronisatie |
| Jackett / Prowlarr | 9117 / 9696 |
Torrent- en usenet indexer proxy |
| SABnzbd / Transmission | 8080 / 9091 |
Downloadclients voor media-acquisitie (BitTorrent peer-poort 53662) |
| slskd | 5030 / 50300 |
Soulseek peer-to-peer client en web daemon (HTTP: 5030, Soulseek listen: 50300) |
🏛️ Architectuur & Ingress
- SSL & Reverse Proxy: Inkomend verkeer verloopt via de centrale Apache reverse proxy op
thuus.bnhmeijer.nl. - Authenticatie: Beveiligd via Keycloak OIDC of ingebouwde service-authenticatie.
- Interne routering: Envoy Gateway HTTPRoutes routeren verkeer direct naar de betreffende Kubernetes pods in de
htpcnamespace.
🚀 Migratie van Host Services naar Kubernetes
Radarr
Voor het migreren van de standalone radarr.service op 10.2.0.4 naar de Kubernetes pod is een geautomatiseerd script beschikbaar:
# Migratie uitvoeren (stopt host service, synct /storage/var/lib/radarr naar K8s PVC, start pod):
./migrate_radarr_to_cluster.sh
# Terugrollen naar standalone service indien gewenst:
./rollback_radarr_migration.sh
- Dataopslag: PersistentVolumeClaim
radarr-config(10Gi,local-pathop/datadisk/infra/pv). - Mediaopslag: HostPath
/datadiskgemount op/datadisk(voor films in/datadisk/htpc/Filmsen downloads in/datadisk/upload). - Netwerk & Ingress: Luistert op poort
7878(zowel via ClusterIP als HostPort7878op10.2.0.4), waardoor de bestaande Apache reverse proxy rule (ProxyPass /radarr http://127.0.0.1:7878/radarr) naadloos blijft functioneren.
Transmission
De BitTorrent daemon (transmission) draait als pod in de htpc namespace:
- Dataopslag: PersistentVolumeClaim
transmission-config(10Gi,local-pathop/datadisk/infra/pv), gemigreerd vanuit/var/www/.config/transmission-daemonmet behoud van alle torrents, resume-bestanden en instellingen. - Mediaopslag: HostPath
/datadisken/mnt/mp3zodat/datadisk/upload/finisheden/datadisk/upload/incompleteidentiek zijn voor Transmission, Radarr, Sonarr en Lidarr. - Netwerk: Web UI / RPC op poort
9091(ClusterIP + HostPort9091) en BitTorrent peer-poort53662(TCP & UDP, ClusterIP + HostPort53662).
slskd
De Soulseek daemon (slskd) draait als pod in de htpc namespace:
- Dataopslag: PersistentVolumeClaim
slskd-config(10Gi,local-pathop/datadisk/infra/pv), gemigreerd vanuit/var/www/.local/share/slskdvia een init-container (inclusiefslskd.yml, SQLite databases en state). - Mediaopslag: HostPath
/datadiskgemount op/datadisk(voor/datadisk/upload/slskd,/datadisk/upload/incompleteen/datadisk/htpc/mp3) en/mnt/mp3gemount op/mnt/mp3. - Netwerk: Web UI op poort
5030(ClusterIP + HostPort5030), optioneel HTTPS op poort5031en Soulseek listen poort50300(ClusterIP + HostPort50300). - Migratie & Opruimen:
# Migratie uitvoeren (maakt backup in /storage/backups/, stopt host service, start pod): ./migrate_slskd_to_cluster.sh # Oude host bestanden en service opruimen: ./cleanup_old_slskd.sh
Jackett
De torrent indexer proxy (jackett) draait als pod in de htpc namespace:
- Dataopslag: PersistentVolumeClaim
jackett-config(10Gi,local-pathop/datadisk/infra/pv), gemigreerd vanuit/home/bart/.config/Jackettvia init-container (inclusief alle indexers enServerConfig.json). - Mediaopslag: HostPath
/datadiskgemount op/datadisk. - Netwerk & Ingress: Luistert op poort
9117(ClusterIP + HostPort9117). De Apache reverse proxy routeerthttps://thuus.bnhmeijer.nl/jackett/naadloos door naar127.0.0.1:9117. - Migratie & Opruimen:
# Migratie uitvoeren (maakt backup in /storage/backups/, stopt host service, start pod): ./migrate_jackett_to_cluster.sh # Oude host bestanden en service opruimen: ./cleanup_old_jackett.sh