finds.dev← search

// the find

munnerz/kube-plex

★ 1,243 · Go · Apache-2.0 · updated Mar 2023

Scalable Plex Media Server on Kubernetes -- dispatch transcode jobs as pods on your cluster!

kube-plex replaces the Plex transcoder binary with a shim that dispatches transcoding work as Kubernetes pods, letting you scale transcodes horizontally across your cluster. It's aimed at homelab operators who already run Kubernetes and want to offload the CPU-heavy transcoding away from their main Plex server. The core trick is clean: intercept the transcoder invocation, repackage the args as a pod spec, and let K8s schedule it.

The shim approach is clever — it requires no Plex source access and survives Plex updates as long as the transcoder CLI interface doesn't change. Helm chart with RBAC is included, so deployment is straightforward if you already know K8s. The design naturally gives you resource limits and node affinity for free via standard Kubernetes primitives. Minimal footprint — the shim itself is a small Go binary, not a sidecar-heavy mess.

Dead project — last commit in March 2023, uses dep (Gopkg.toml) instead of Go modules, and the Kubernetes client vendor is ancient. The hard requirement for ReadWriteMany volumes is a real constraint; most bare-metal homelabs don't have NFS or EFS sitting around, which is exactly the audience this targets. Requiring unauthenticated access from the pod network to Plex is a meaningful security regression that the README dismisses with 'at some point in the future this may change'. No pod cleanup strategy is mentioned — failed transcode pods will accumulate if you're not careful.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →