Sleep timer plugin for Jellyfin that automatically stops playback after a specified time or episodes.
- Timer-based Sleep: Set sleep timers for 15 minutes, 30 minutes, 1 hour, or 2 hours
- Episode-based Sleep: Stop playback after the current episode ends
- Per-user, Per-device: Each user session can have its own independent sleep timer
- Auto-pause: Automatically pauses playback when the timer expires
- Web Interface: Easy-to-use sleep timer controls directly in the Jellyfin web player
This plugin works by injecting custom JavaScript into Jellyfin's web interface. It is compatible with:
- β Jellyfin Web UI (browser access)
- β Jellyfin Android App (uses embedded web UI)
- β Jellyfin iOS App (uses embedded web UI)
- β Jellyfin Desktop Apps (Flatpak, etc. - uses embedded web UI)
- β³οΈ Streamyfin (work in progress)
- β Android TV App (uses native interface, cannot be modified)
- β Other native apps that don't use the web interface
This plugin requires the following plugins to be installed as well:
- Jellyfin-JavaScript-Injector
- jellyfin-plugin-file-transformation (optional, but recommended)
- Open your Jellyfin server's admin dashboard
- Navigate to Plugins β Catalog
- Click the Add Repository button
- Add this repository URL:
https://raw.githubusercontent.com/jon4hz/jellyfin-plugin-jellysleep/main/manifest.json - Find Jellysleep in the plugin catalog and install it
- Restart your Jellyfin server
- Enable the plugin in Plugins β My Plugins
Once installed and enabled, you'll see a sleep timer button (moon icon) in the Jellyfin web player controls. Click it to:
- Set a duration-based timer (15min, 30min, 1h, 2h)
- Set an episode-based timer (stops after current episode)
- Cancel active timers
dotnet buildmake packageThe plugin follows Jellyfin's plugin architecture and integrates with the session management system to track playback state and automatically pause content when timers expire.
GPLv3
