Zum Hauptinhalt springen
  1. Beiträge/
  2. Kleines Homelab/
  3. k3s-prod: Kubernetes Cluster Konfiguration und Anwendungsbereitstellung/

Plex Media Server

Inhaltsverzeichnis

Plex Media Server
#

Status
#

Status
Uptime
Ping
Avg Response Time
Certificate Expiration
Response Time

Deployment
#

Argo Deployment

Quelle
#

Die Anwendung wird als generisches app-template Helm-Chart von BJW-S Labs bereitgestellt. Das verwendete Docker-Image ist ghcr.io/linuxserver/plex.

Dokumentation
#

Die offizielle Dokumentation von Plex ist unter support.plex.tv zu finden.

Funktion
#

Plex Media Server ist eine Anwendung zur Verwaltung und zum Streaming von Medien. Es scannt und organisiert Mediendateien (Filme, Fernsehsendungen, Musik, Fotos) aus lokalen Ordnern, reichert sie mit Metadaten aus dem Internet an und stellt sie den Plex-Client-Anwendungen auf einer Vielzahl von Geräten (Smart-TVs, Mobiltelefone, Webbrowser) zur Verfügung.

Lokale Anpassungen
#

Die Konfiguration erfolgt über die values.yaml-Datei.

Wichtige Einstellungen
#

  • LoadBalancer: Der Plex-Server ist über einen LoadBalancer-Service auf Port 32400 im lokalen Netzwerk erreichbar, um eine optimale Streaming-Leistung zu gewährleisten.
  • Ingress: Zusätzlich ist die Weboberfläche über einen Ingress mit einem Hostnamen erreichbar.
  • Hardware-Transcoding: Das /dev/dri-Gerät des Host-Systems wird in den Pod durchgereicht. Dies ermöglicht es Plex, die integrierte GPU (Intel Quick Sync Video) für die Hardware-beschleunigte Videotranskodierung zu nutzen, was die CPU-Last erheblich reduziert.
  • Speicher: Die Plex-Konfiguration sowie die Medienbibliotheken (Filme, TV-Serien) werden von einem NFS-Share gemountet.

Installation
#

Die Anwendung wird mittels Kustomize und Helm durch ArgoCD im Kubernetes-Cluster bereitgestellt. Die Konfiguration befindet sich im apps/plex-Verzeichnis. Eine manuelle Installation kann mit folgendem Befehl durchgeführt werden:

1kubectl kustomize --enable-helm apps/plex | kubectl apply -n plex -f -

Abhängigkeiten
#

  • Ein laufender Kubernetes-Cluster.
  • Ein konfigurierter Ingress-Controller (z.B. Traefik).
  • Eine Zertifikatsmanagement-Lösung (z.B. cert-manager) zur Bereitstellung von TLS-Zertifikaten.
  • MetalLB für LoadBalancer IP-Zuweisung.
  • Ein NFS-Server für persistente Speicherung.
Per E-Mail antworten
Fabrice Kirchner
Autor
Fabrice Kirchner
stolzer Vater, Nerd, Admin