A modern Netflix-style hover trailer preview plugin for Jellyfin that displays movie trailers on hover.
|
Configuration 1 - Centered Positioning, Background Blur, Higher Scaling, No Offset
|
Configuration 2 - Custom Positioning, No Blur, Lower Scaling, Custom Offset
|
https://raw.githubusercontent.com/Fovty/HoverTrailer/master/manifest.json
- Netflix-style Hover Previews: Display movie trailers when hovering over movie cards
- Customizable Positioning: Adjust horizontal and vertical offset of trailer previews
- Flexible Sizing Options:
- Fit to Video Content (automatic sizing based on video aspect ratio)
- Manual Width/Height settings
- Visual Customization:
- Adjustable opacity (0.1 to 1.0)
- Configurable border radius (0-50px)
- Percentage-based scaling (50% to 1500%)
- Audio Control: Optional audio playback for trailer previews
- Multi-source Trailer Detection:
- Local trailer files
- Remote YouTube trailers via Jellyfin's native API
- Debug Mode: Comprehensive logging for troubleshooting
- Open Jellyfin Admin Dashboard
- Navigate to Plugins → Manage Repositories
- Click + (Add) to add a new repository
- Enter the Manifest URL:
https://raw.githubusercontent.com/Fovty/HoverTrailer/master/manifest.json - Click Save
- Navigate back to Plugins
- Search for "HoverTrailer"
- Click Install
- Restart Jellyfin server to activate the plugin
- Download the latest release from GitHub Releases
- Extract the
.dllfile to your Jellyfin plugins directory:- Windows:
%ProgramData%\Jellyfin\Server\plugins\HoverTrailer - Linux:
/var/lib/jellyfin/plugins/HoverTrailer - Docker:
/config/plugins/HoverTrailer
- Windows:
- Restart Jellyfin server
Access plugin settings through: Jellyfin Admin Dashboard → Plugins → HoverTrailer → Settings
-
Check trailer availability:
- Verify movie has trailer metadata in Jellyfin
- Check if trailer files exist in media directory
-
Enable debug mode:
- Turn on "Enable Debug Mode" in plugin settings
- Check browser console for error messages
-
Audio issues:
- Browser may block autoplay with audio
- Plugin automatically falls back to muted playback
-
Verify plugin installation:
- Check plugin appears in Jellyfin admin panel
- Ensure plugin is enabled and active
-
Clear browser cache:
- Force refresh browser (Ctrl+F5)
- Clear Jellyfin web client cache
If you encounter Access to the path '/usr/share/jellyfin/web/index.html' is denied or similar permission errors in Docker:
Option 1: Use File Transformation Plugin (Recommended)
HoverTrailer now automatically detects and uses the File Transformation plugin (v2.2.1.0+) if it's installed. This eliminates permission issues by transforming content at runtime without modifying files on disk.
Installation Steps:
- Install the File Transformation plugin from the Jellyfin plugin catalog
- Restart Jellyfin
- HoverTrailer will automatically detect and use it (no configuration needed)
- Check logs to confirm: Look for "Successfully registered transformation with File Transformation plugin"
Benefits:
- No file permission issues in Docker environments
- Works with read-only web directories
- Survives Jellyfin updates without re-injection
- No manual file modifications required
Option 2: Fix File Permissions
# Find the actual index.html location
docker exec -it jellyfin find / -name index.html
# Fix ownership (replace 'jellyfin' with your container name and adjust user:group if needed)
docker exec -it --user root jellyfin chown jellyfin:jellyfin /jellyfin/jellyfin-web/index.html
# Restart container
docker restart jellyfinOption 3: Manual Volume Mapping
# Extract index.html from container
docker cp jellyfin:/jellyfin/jellyfin-web/index.html /path/to/jellyfin/config/index.html
# Add to docker-compose.yml volumes section:
volumes:
- /path/to/jellyfin/config/index.html:/jellyfin/jellyfin-web/index.html# Clone repository
git clone https://github.com/Fovty/HoverTrailer.git
cd hovertrailer
# Build plugin (warnings suppressed due to StyleCop/Code Analysis)
dotnet build --configuration Release --property:TreatWarningsAsErrors=false- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
- Follow existing code style and conventions
- Update documentation for configuration changes
- Test across different browsers and Jellyfin versions
This project is licensed under the MIT License - see the LICENSE file for details.
- Jellyfin Team - For the excellent media server platform
- IntroSkipper Plugin - Architecture and CI/CD inspiration
- Jellyscrub Plugin - Configuration UI patterns
- Issues: GitHub Issues
- Discussions: GitHub Discussions
- Jellyfin Community: Official Jellyfin Forums
Note: This plugin is not officially affiliated with Jellyfin or Netflix. It's a community-developed enhancement for the Jellyfin media server.




