{"adoption": {"forks": 182, "observed_at": "2026-08-28T04:04:06.737657+00:00", "stars": 1243}, "canonical_url": "https://ross.abutalabs.com/products/kube-plex", "card": {"archived": false, "artifact_type": "application", "description": "Scalable Plex Media Server on Kubernetes -- dispatch transcode jobs as pods on your cluster!", "domain": ["media", "self-hosted"], "enriched": true, "function": ["container-orchestration", "video-processing", "deployment"], "health_score": 20, "homepage": null, "language": "Go", "license": "Apache-2.0", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["munnerz/kube-plex"], "name": "munnerz/kube-plex", "platform": ["self-hosted", "go"], "pushed_at": "2023-03-28T21:31:15+00:00", "repo": "munnerz/kube-plex", "stars": 1243, "tags": ["plex", "transcoding", "helm-chart", "media-server", "distributed-transcoding", "containers", "video", "kubernetes", "docker"], "topics": [], "urls": [], "use_cases": ["run a scalable Plex Media Server on Kubernetes", "distribute Plex transcode jobs across cluster nodes as pods", "offload transcoding from the Plex server instance to spare cluster capacity", "deploy Plex with Helm and persistent volume claims for media", "transcode media using NFS or EFS ReadWriteMany shared storage"], "what_it_is": "kube-plex is a scalable Plex Media Server deployment for Kubernetes that offloads transcoding work to ephemeral pods across the cluster. It works by replacing the Plex Transcoder binary with a shim that dispatches transcode jobs as Kubernetes pods using shared persistent volumes.", "when_to_avoid": ["you run Plex on a single machine or Docker host without Kubernetes", "your storage does not support ReadWriteMany persistent volumes", "you need a project with frequent updates and active development"], "when_to_choose": ["you already run Kubernetes and want Plex transcoding to scale across nodes", "your media storage is on a ReadWriteMany volume like NFS or EFS", "you want transcode workloads isolated in pods instead of burdening the PMS instance"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/kube-plex", "repo": "munnerz/kube-plex", "role": "main", "score": 32}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:04:06.737657+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T05:08:20.374442+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "bde1f08cc1c0f0f9ffb951806a35794771e84bfe634e40c79bdf809314e90219", "fetched_at": "2026-08-28T04:04:06.737657+00:00", "kind": "readme", "missing": false, "url": "https://github.com/munnerz/kube-plex"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 0, "longevity": 100, "rhythm": 35}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": ["no_releases"], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 4013, "days_push": 1254, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 32, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}