Manage a PodDisruptionBudget based on a actively streaming Jellyfin server.
  • Rust 74.1%
  • Dockerfile 13.7%
  • Makefile 12.2%
Find a file
Repository files (latest commit first)
Filename Latest commit message Latest commit date
Renovate Bot 5890b41746
All checks were successful
ci/woodpecker/pr/build Pipeline was successful
ci/woodpecker/pull_request_closed/build Pipeline was successful
ci/woodpecker/push/build Pipeline was successful
ci/woodpecker/cron/build Pipeline was successful
chore(deps): lock file maintenance
2026-08-24 00:46:03 +00:00
.woodpecker chore(deps): update woodpeckerci/plugin-kaniko docker tag to v2.3.2 2026-06-06 15:15:36 +00:00
src fix: fix default crypto provider for rustls 2026-01-07 15:10:14 -05:00
.gitignore Initial commit 2025-06-19 16:23:03 -04:00
Cargo.lock chore(deps): lock file maintenance 2026-08-24 00:46:03 +00:00
Cargo.toml fix(deps): update rust crate kube to 4.2.x 2026-07-22 09:16:07 +00:00
Containerfile chore(deps): update docker.io/library/rust docker tag to v1.98.0 2026-08-20 20:01:19 +00:00
LICENSE.md Initial commit 2025-06-19 16:23:03 -04:00
Makefile Use fuwafuwalabs project for container 2025-06-27 11:18:19 -04:00
README.md Initial commit 2025-06-19 16:23:03 -04:00
renovate.json renovate: automerge lockFileMaintenance 2026-07-05 23:42:50 -04:00

jellyfin-pdb-mgr-rs

jellyfin-db-pgr watches a Jellyfin server for actively playing items and updates a Kubernetes PodDisruptionBudget to prevent server shutdowns.

How?

Deploy jellyfin-pdb-mgr to your cluster (only one replica is needed) and set the following environment variables:

  • POD_NAMESPACE - the namespace the pod runs in. You should use valueFrom.fieldRef.fieldPath: metadata.namespace for this.
  • RUST_LOG (optional) - the log level (i.e. info, debug,, warn, error)
  • UPDATE_INTERVAL - how often in seconds to check for players and to patch the PDB. The default value is 10.
  • PDB_NAME - the name of the PBB object in the same namespace as the pod to update. You need to create this PDB yourself.
  • JELLYFIN_URL - the URL to your Jellyfin instance.
  • JELLYFIN_API_KEY - the Jellyfin API key to use.
  • MIN_STREAMS - the minimum number of now playing items to consider when updating the PDB. Default is 1.

License

See LICENSE.md.