NeXroll is a preroll manager for Plex and Jellyfin that makes setup effortless. It runs natively on Windows and works in Docker, featuring a clean web interface, optional background service, and lightweight tray app. Everything is self-contained, and a single installer gets you up and running in minutes.
-
Preroll management
- Upload multiple preroll videos with metadata
- Automatic thumbnail generation (FFmpeg)
- Enhanced tag system with visual badges, autocomplete, and easy editing
- Tags display as purple pill-shaped badges in grid and list views
- Interactive tag editor with individual tag removal and browse functionality
- Multi category assignment with improved multi select workflow
-
Categories & Holiday Presets
- Organize your library by categories (Default, Halloween, Christmas, etc.)
- Comprehensive Holiday Presets library with 32 holidays and events
- Includes winter, spring, summer, fall, cultural, seasonal, and special event presets
- One click Holiday Presets initializer creates per holiday categories and date ranges
- Holiday presets integrate with schedule creation for automatic date population
- Apply a category to Plex as a preroll sequence
-
Scheduling
- Flexible schedules with date/time ranges and recurrence
- Optional fallback category when no schedule is active
- Real time scheduler status
-
Media Server integration
- Connect to Plex or Jellyfin servers
- Connect via URL/token or Stable Token (persistent)
- Status monitoring and quick Apply-to-Server actions
-
Community Prerolls
- Access thousands of community-curated prerolls from prerolls.typicalnerds.uk
- Smart search with synonym expansion and category filtering
- Platform filtering (Plex/Jellyfin/Emby)
- Local indexing for instant searches across 1,300+ prerolls
- One-click downloads with no automatic tagging
- Random preroll discovery
- Fair Use Policy protection
-
Windows experience
- One click installer with optional Windows Service and System Tray app
- Start with Windows, Firewall rule (TCP 9393), and FFmpeg installation via winget
- Self contained executables (no Python required on user machines)
-
Backup & Restore
- Comprehensive database backup includes prerolls, categories, schedules, sequences, and holiday presets
- Files backup creates ZIP archives of both preroll and sequence video files
- Full restore capability with proper data integrity and foreign key handling
- Sequence metadata and block structures preserved through backup cycle
- Datetime handling with fallback protection for timestamp fields
-
Observability & storage
- Logs under %ProgramData%\NeXroll\logs
- SQLite database storage under %ProgramData%\NeXroll
-
API
- REST API with interactive docs at http://localhost:9393/docs
- Download the latest
NeXroll_Installer.exefrom GitHub Releases: https://github.com/JFLXCLOUD/NeXroll/releases - Run
NeXroll_Installer.exe(administrator recommended). - Choose:
- Install location (default:
C:\Program Files\NeXroll) - Preroll storage directory (can be on any drive)
- Install location (default:
- Optional components you may select:
- Install as Windows Service (
NeXrollService) - Plex Stable Token setup (runs
setup_plex_token.exe) - Start with Windows (adds the tray app to Startup)
- Install FFmpeg via winget (for thumbnail generation)
- Windows Firewall rule (Allow inbound TCP 9393 for local web UI)
- Install as Windows Service (
- Finish the installer and open the app from the Start Menu or tray menu.
After install, visit http://localhost:9393 to use the web UI.
NeXroll.exethe web application (FastAPI + bundled frontend)NeXrollService.exeoptional Windows Service wrapperNeXrollTray.exesystem tray app with quick actionssetup_plex_token.exehelper to obtain a stable Plex token
Start Menu shortcuts are created for NeXroll, NeXroll Tray, and Uninstall NeXroll. A desktop shortcut for NeXroll is also added.
The tray icon provides quick actions:
- Open launches http://localhost:9393 (default action)
- Start Service attempts to start the Windows service (if installed)
- Stop Service stops the Windows service (if installed)
- Restart Service restarts the Windows service (if installed)
- Start App (portable) starts the packaged app directly (non service)
- Check for updates checks GitHub Releases and opens the latest release if a newer version is available (dialog is foreground and closable)
- About shows app information (dialog is foreground and closable)
- GitHub opens https://github.com/JFLXCLOUD/NeXroll
- Exit closes the tray app
If you selected Start with Windows, the tray app launches automatically at login.
If chosen during installation, the NeXrollService Windows Service is installed. You can manage it via Services.msc or the following commands (run from C:\Program Files\NeXroll or your chosen InstallDir):
NeXrollService.exe install
NeXrollService.exe start
NeXrollService.exe stop
NeXrollService.exe remove
Logs (service mode): %ProgramData%\NeXroll\logs\service.log
Logs (packaged app): %ProgramData%\NeXroll\logs\app.log
Logs (tray): %ProgramData%\NeXroll\logs\tray.log
Database (packaged): %ProgramData%\NeXroll\nexroll.db
Tip: if a previous NeXroll instance is still running and occupying port 9393, the service may need a second start attempt after that instance is closed.
- Windows 10/11 x64
- FFmpeg for thumbnail generation (you can install it from the installer's optional components, or manually)
- Network access to your Plex or Jellyfin server
- No Python required on user machines
- Open http://localhost:9393
- Connect to your media server:
- Connect to Plex or Jellyfin using URL and credentials
- For Plex: Use your Plex URL and token; or run
setup_plex_token.exeto create a long lived "stable token"
- Upload prerolls, create categories, and configure schedules.
- Upgrade: simply run the newer
NeXroll_Installer.exeover the existing installation. Your configured Preroll storage path is preserved, and data is not removed. - Uninstall: use "Uninstall NeXroll" from the Start Menu (or Apps & Features). The installer removes the service and shortcuts; your Preroll storage directory is not deleted.
See the full packaging guide in NeXroll/Docs/PACKAGING.md.
Prerequisites (build machine):
- Python 3.10+ (build time only)
- pip install:
pyinstaller,pywin32,pystray,Pillow - NSIS 3.x (
makensison PATH)
Build commands (run from the repository root):
py -m PyInstaller -y NeXroll\build\neXroll.spec
py -m PyInstaller -y NeXroll\build\NeXrollService.spec
py -m PyInstaller -y NeXroll\build\setup_plex_token.spec
py -m PyInstaller -y NeXroll\build\NeXrollTray.spec
makensis NeXroll\build\installer.nsi
Outputs:
dist\NeXroll.exedist\NeXrollService.exedist\setup_plex_token.exedist\NeXrollTray.exeNeXroll\build\NeXroll_Installer.exe(Release asset is published as a generic name)
- Backend (FastAPI):
NeXroll/backend/ - Packaged runtime backend:
NeXroll/backend/ - Frontend (static build served by backend):
NeXroll/frontend/ - Windows Service wrapper:
NeXroll/scripts/windows_service.py - System tray app:
NeXroll/scripts/tray_app.py - PyInstaller specs:
NeXroll/build/neXroll.specNeXroll/build/NeXrollService.specNeXroll/build/NeXrollTray.specNeXroll/build/setup_plex_token.spec
- NSIS installer:
NeXroll/build/installer.nsi
- "Service did not respond in time"
- Ensure no other process is using port 9393; stop any
NeXroll.exethat 's running, then start the service again.
- Ensure no other process is using port 9393; stop any
- UI not reachable at http://localhost:9393
- If you selected the firewall component, verify the inbound rule "NeXroll (TCP 9393)" exists. Otherwise, allow inbound TCP 9393 or re-run the installer and select the firewall option.
- Service logs location
- Check
%ProgramData%\NeXroll\logs\service.logfor service-mode startup and health probe messages.
- Check
- Thumbnails not created
- Install FFmpeg (choose the installer component, or install manually); re upload a preroll.
- Tray icon not shown
- Run "NeXroll Tray" from Start Menu; pin it so it's always visible.
- Media server connection issues
- Verify your Plex or Jellyfin server is reachable from the machine, and credentials are valid (retry
setup_plex_token.exefor Plex if needed).
- Verify your Plex or Jellyfin server is reachable from the machine, and credentials are valid (retry
MIT. Third party components remain under their respective licenses.
If NeXroll is helpful, consider supporting ongoing development:
Join the community on Discord for support, feature requests, and discussions:
Community Prerolls powered by Typical Nerds - Thank you for making thousands of prerolls available to the community!

