Problem

Jellyfin media library maintenance required multiple manual tasks - cleaning empty folders, removing non-English subtitles, renaming files - with no unified way to automate them. The upstream project this was forked from embedded everything into a single script, making it difficult to add, remove, or customize individual maintenance tasks.

Approach

Forked jellyfinfix and rearchitected it into a modular script runner. Instead of one embedded script, you drop any number of custom scripts into a scripts.d folder and they run in sequence against the media library. Each script is standalone - easy to add, remove, or replace without touching the core runner. Ships as a Docker container so it can run on a schedule alongside Jellyfin.

Outcome

A flexible, extensible tool designed to be forked and customized. Includes several working scripts for common Jellyfin maintenance tasks out of the box. The modular structure means anyone can drop in their own scripts without understanding or modifying the runner.

Tech Stack

Bash Docker Jellyfin