Media Services

Relevant source files

The media namespace encompasses the cluster’s entertainment and content management stack. This includes video streaming (Plex, Jellyfin), book/manga management (Komga, Kavita, Calibre-Web), file synchronization (Syncthing, OpenCloud), and specialized utilities for metadata and stream monitoring.

Core Media Streaming

The primary video streaming services, Plex and Jellyfin, are configured to utilize hardware acceleration via Intel QuickSync (iGPU passthrough).

Plex Media Server

Plex is deployed using the app-templatekubernetes/apps/media/plex/app/helmrelease.yaml10 It features a complex networking setup with both a dedicated LoadBalancer IP (10.10.30.14) kubernetes/apps/media/plex/app/helmrelease.yaml77 and an external Envoy gateway route kubernetes/apps/media/plex/app/helmrelease.yaml115-117

Jellyfin

Jellyfin serves as the open-source alternative, sharing the same NFS media source kubernetes/apps/media/jellyfin/app/helmrelease.yaml106-107 It is configured with DOTNET_SYSTEM_IO_DISABLEFILELOCKING to maintain compatibility with the underlying network storage kubernetes/apps/media/jellyfin/app/helmrelease.yaml31

Media Data Flow and Hardware Integration

The following diagram illustrates how media traffic and hardware resources flow from the physical host to the applications.

Title: Media Service Infrastructure Integration

[Flowchart Diagram]

Sources: kubernetes/apps/media/plex/app/helmrelease.yaml77-108kubernetes/apps/media/jellyfin/app/helmrelease.yaml76-109docs/cilium-ipam.md109-112

Content Management and Requests

The ecosystem includes several management tools that interact with the core streaming servers:

Books and Manga

The cluster hosts a comprehensive library for digital reading materials.

ServicePurposePrimary Storage Path
KomgaComics and Manga server kubernetes/apps/media/komga/app/helmrelease.yaml49/media/Bookskubernetes/apps/media/komga/app/helmrelease.yaml69
KavitaE-book and Manga readerShared NFS Mount
Calibre-Web-AutomatedE-book management and ingestion kubernetes/apps/media/calibre-web-automated/app/helmrelease.yaml118/calibre-librarykubernetes/apps/media/calibre-web-automated/app/helmrelease.yaml97-98

Calibre-Web-Automated is specifically configured with an ingestion path at /cwa-book-ingest which maps to Downloads/Books on the NFS share, allowing for automated library updates kubernetes/apps/media/calibre-web-automated/app/helmrelease.yaml99-100

Sources: kubernetes/apps/media/komga/app/helmrelease.yaml47-70kubernetes/apps/media/calibre-web-automated/app/helmrelease.yaml90-100

File Synchronization and Access

OpenCloud (Nextcloud/oCIS)

OpenCloud (OpenCloud.eu/oCIS) provides a high-performance file sync and share platform. It is heavily integrated with the cluster’s identity and storage providers:

Syncthing

Syncthing provides peer-to-peer file synchronization. It is configured with a dedicated LoadBalancer IP (10.10.30.9) for its discovery and listener ports (22000/TCP, 22000/UDP, 21027/UDP) to ensure connectivity outside the cluster kubernetes/apps/media/syncthing/app/helmrelease.yaml73-87

Slskd

Slskd is a web-based client for the Soulseek network, primarily used for music sharing. It uses a specialized networking configuration:

Title: File Access and Sync Architecture

[Flowchart Diagram]

Sources: kubernetes/apps/media/opencloud/app/helmrelease.yaml54-100kubernetes/apps/media/syncthing/app/helmrelease.yaml130-139kubernetes/apps/media/filebrowser/app/helmrelease.yaml78-83kubernetes/apps/media/opencloud/app/externalsecret.yaml15-42

Collaborative Services

Neko

Neko provides a virtual browser (Firefox) in a pod for “movie night” style collaborative browsing kubernetes/apps/media/neko/app/helmrelease.yaml95-97

Sources: kubernetes/apps/media/neko/app/helmrelease.yaml34-47kubernetes/apps/media/neko/app/helmrelease.yaml78-103