Jellyfin should keep enough free storage for its largest normal combination of metadata growth, generated assets, transcode scratch, logs, and maintenance work.
A fixed percentage is unreliable because a simple library and a trickplay-heavy library can use app storage very differently. Separate persistent growth from temporary peaks, then measure both on the paths where they actually occur. Free space on a media volume does not help if config or transcode storage is a different full filesystem.
Measure Persistent App-Data Growth First
Database, metadata, artwork, plugins, and generated assets can grow as the library and enabled features expand. Their trend should be measured independently from source media capacity.
Generated assets can materially expand the working set; one Jellyfin operator avoids Trickplay and chapter images because they consume additional storage and processing during library updates.
Record config-directory size after a settled scan, then again after a representative month or large import. Use the observed growth rate instead of guessing from media terabytes.
Measure Transcode Scratch as a Temporary Peak
Active conversions create working files that may disappear when the session ends. The worst case depends on the largest source, number of concurrent transcodes, and configured temporary path.
Keeping transcode scratch on local fast storage separates high-churn temporary work from durable library state.
Run the hardest expected simultaneous transcodes and record peak temporary usage. Reserve that space separately from the long-term app-data budget.
Scheduled Jobs Can Create Short-Lived Bursts
Trickplay, image extraction, scans, and plugin analysis can consume CPU and storage together. Several tasks starting in the same window can produce a temporary footprint much larger than normal idle use.
Background work is visible as scheduled Jellyfin tasks, so free-space tests should include the jobs that actually generate or refresh library data.
Stagger heavy tasks and observe free space through a complete schedule cycle. The home media-server role map helps keep temporary work from silently sharing a nearly full system volume.
Set the Alert Above the Failure Point, Not at Zero
Waiting until the filesystem reaches 100% leaves too little room for database writes, package updates, logs, and recovery operations. The alert should fire while cleanup or relocation is still safe.
Unbounded container logs can consume host storage independently of application media.
Choose a free-space floor above the largest measured temporary peak plus routine growth. Recalculate after enabling new generated-media features or changing the transcode directory.
Support & Tips
More to Read

NAS Share Shows Old Files After Storage Replacement: Checks and Fixes
Compare local storage with the active share and a clean client. Repair only the layer proven stale, then verify the result survives reconnect and...

Mini PC Cooling Maintenance Guide for Fans, Vents, and Thermal Baselines
Use repeatable idle and load readings. Clean external airflow first, confirm fan behavior, and open the chassis only when evidence survives a controlled retest.

Home Server Firmware Update Checklist for BIOS, Boot Order, and Devices
Capture versions, UEFI entries, storage and passthrough state first. Update one layer at a time and keep console plus rollback access until validation passes.

