feat(radio-chicken): add Kubernetes manifests and migration scripts for Radio Chicken
Sync HTPC Manifests to GitOps / Sync Manifests to GitOps Repo (push) Successful in 4s

This commit is contained in:
bart
2026-11-07 11:25:52 +01:00
parent 00009b8080
commit b5750423ed
10 changed files with 604 additions and 0 deletions
+25
View File
@@ -34,6 +34,7 @@ De HTPC omgeving omvat onder andere de volgende diensten:
| **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`) |
| **Radio Chicken & Icecast** | `5000` / `8000` | Gepersonaliseerd radiostation, Icecast audio/video streams, live web-UI en clip downloader |
---
@@ -117,3 +118,27 @@ De Jellyfin media server (`jellyfin`) draait als pod in de `htpc` namespace:
# Oude host bestanden en service opruimen:
./cleanup_old_jellyfin.sh
```
### Radio Chicken & Icecast
Het Radio Chicken streamingplatform en Icecast server draaien als multi-container pod (`radio-chicken`) in de `htpc` namespace:
- **Containers in pod**:
- `icecast` (`moul/icecast:latest`): Luistert op poort `8000` (ClusterIP + HostPort `8000`) voor audio (`/chicken`) en live webm video (`/chicken_video.webm`).
- `radio-chicken` (`git.bnhmeijer.nl/bart/radio-chicken:latest`): Flask web-UI, stemsynthese, live ffmpeg hardware transcoding en streaming naar Icecast op poort `5000` (ClusterIP + HostPort `5000`).
- `autoplacer` (`git.bnhmeijer.nl/bart/radio-chicken-autoplacer:latest`): Achtergrond-worker die nummers in Jellyfin analyseert en in playlists plaatst.
- `mv-downloader` (`git.bnhmeijer.nl/bart/radio-chicken-mv-downloader:latest`): Achtergrond-worker die ontbrekende videoclips van favoriete nummers automatisch downloadt via YouTube naar `/music_videos`.
- **Dataopslag**: PersistentVolumeClaim `radio-chicken-data` (10Gi, `local-path` op `/datadisk/infra/pv`), gemigreerd vanuit `/home/bart/jellyfinradio/data` en `webroot` via init-container.
- **Mediaopslag**: HostPath `/datadisk/htpc/music_video` gemount op `/music_videos`.
- **Hardware Transcoding**: Directe hardware-acceleratie via VA-API met AMD Phoenix2 iGPU (`/dev/dri` hostPath gemount met `privileged: true`).
- **Netwerk & Ingress**: Luistert op poort `5000` en `8000`. De Apache reverse proxy routeert `/radio/live`, `/radio/vote` en `/radio/` direct door naar `127.0.0.1:5000` en `127.0.0.1:8000`.
- **Migratie, Terugrol & Opruimen**:
```bash
# Migratie uitvoeren (maakt backup, sync video's, stopt host containers, start pod):
./migrate_radio_chicken_to_cluster.sh
# Terugrollen naar standalone host containers indien gewenst:
./rollback_radio_chicken_migration.sh
# Oude host containers opruimen:
./cleanup_old_radio_chicken.sh
```