-
Notifications
You must be signed in to change notification settings - Fork 0
Configuration
This guide covers all configuration options in NeXroll.
Go to the Settings tab in NeXroll to configure these options. Settings are organized into sub-tabs.
Toggle between Light Mode and Dark Mode for the interface.
Set your local timezone to ensure schedules activate at the correct times.
- Select your timezone from the dropdown
- The setting saves automatically
Important: Schedules use this timezone for start/end times. If prerolls aren't activating when expected, check this setting first.
Control whether NeXroll asks for confirmation before deleting items.
| Setting | Behavior |
|---|---|
| Enabled | Prompts before deleting schedules, categories, prerolls |
| Disabled | Deletes immediately without confirmation |
Control success and informational notifications.
| Setting | Behavior |
|---|---|
| Enabled | Shows all notifications (success, info, errors) |
| Disabled | Only shows critical error messages |
The Filler Category provides a global fallback when no schedules are active.
- Fills gaps in your schedule automatically
- Different from per-schedule fallback (which only applies when that specific schedule ends)
- Applies globally when ALL schedules are inactive
- Go to Settings → General
- Find the Filler Category section
- Toggle to enable/disable
- Select your filler type:
| Filler Type | Description |
|---|---|
| Category | Use any category as the gap filler |
| Sequence | Use a saved sequence as the gap filler |
| Coming Soon List | Use a generated Coming Soon List video |
- Active Schedule — Highest priority, schedule's category is applied
- Per-Schedule Fallback — If a schedule has a fallback, it's used when that schedule ends
- Filler Category — Global fallback when NO schedules are active
- Unchanged — If filler is disabled, Plex prerolls remain unchanged
NeXroll supports optional authentication to secure access to the web interface and API.
Generate API keys for external programmatic access:
- Go to Settings → API Keys
- Click Generate New Key
- Configure:
- Name: Descriptive label
- Permissions: Read-only or Full Access
- Expiration: 24h, 7d, 30d, 90d, 1 year, or Never
- Copy the generated key (starts with
nx_) — it's only shown once
API keys are used with the /external/* API endpoints. See API Documentation for details.
Enable login-based access control:
- Go to Settings → Authentication
- Enable Username/Password Authentication
- Create user accounts:
- Admin — Full access to all settings and configuration
- User — Standard access (view and manage prerolls)
| Feature | Description |
|---|---|
| Session Tokens | Secure session management with expiration |
| Password Hashing | bcrypt-based password storage |
| Remember Me | Optional 30-day persistent login |
| Account Lockout | Locks account after 5 failed login attempts (15 min) |
| Audit Log | View authentication events in Settings |
| HTTPS Support | Configurable "Require HTTPS" setting |
NeXroll can automatically check for new versions.
| Setting | Description |
|---|---|
| Check Interval | How often to check: startup, hourly, daily, weekly, or never |
| Pre-release Channel | Include beta/pre-release versions in update checks |
When an update is available:
- A notification card appears on the Dashboard
- Shows current version vs. available version
- Displays release notes with markdown rendering
- Can be dismissed (persists across sessions)
NeXroll includes a built-in logging system for debugging and monitoring.
Go to Settings → Logs to:
- View logs in real-time
- Filter by level: DEBUG, INFO, WARNING, ERROR, CRITICAL
- Filter by category: system, scheduler, api, user, plex, jellyfin, emby, nexup
- Search through log entries
- Export logs as JSON or CSV
| Setting | Description | Default |
|---|---|---|
| Log Level | Minimum level to capture | INFO |
| Retention Period | Days to keep logs (1-365) | 30 |
| Database Logging | Log to database for UI viewing | Enabled |
| Request Logging | Log API requests with timing | Enabled |
| Scheduler Logging | Log scheduler activity | Enabled |
| API Logging | Log external API calls | Enabled |
Experimental Feature: Automatically apply prerolls based on the genre of what you're watching.
- Toggle Enable Genre-based Preroll Mapping
- Create mappings (e.g., Horror → Halloween category)
- When you play a horror movie, Halloween prerolls apply
| Setting | Description |
|---|---|
| Genre Auto-Apply | Master toggle for the feature |
| Allow genres to override schedules | Genre prerolls play even if a schedule is active |
| Genre Override TTL | Seconds to wait before re-applying the same genre |
- Enter a Plex Genre (e.g., "Horror", "Comedy", "Christmas")
- Select the Target Category
- Click Create Mapping
- Enter genres in the test field
- Click Resolve to see which category would match
- Click Apply Now to immediately apply the matched category
Configure path translation between NeXroll and Plex. Essential when they see files at different paths (common with Docker, NAS, or remote servers).
See Path Mappings for detailed configuration.
Creates a comprehensive backup including:
- SQLite database (
nexroll.db) and JSON export for cross-version compatibility - All preroll video files
- Generated thumbnails
- Application settings
Steps:
- Click Download System & Files Backup
- Save the
.zipfile (may be large depending on preroll count) - Uses streaming download to prevent memory issues with large backups
Export schedules, categories, sequences, and preroll metadata to JSON:
- Click Download Database Backup
- Save the
.jsonfile
- Click Choose File under Restore
- Select your backup file (
.jsonfor database,.zipfor full backup) - Click Restore
- Progress indicators show real-time status
Warning: Restoring overwrites existing data. Back up current data first.
Each category has these settings (configured in the Categories page):
| Setting | Description |
|---|---|
| Name | Category display name |
| Description | Optional description |
| Plex Mode | How Plex plays multiple prerolls: Random (shuffled) or Sequential (in order) |
Categories are organized into three sections: Scheduled Categories, Categories with Prerolls, and Empty Categories.
Each schedule has these options (configured in the Schedules tab):
| Setting | Description |
|---|---|
| Name | Schedule display name |
| Category | Which category's prerolls to use |
| Start/End Date | When the schedule is active |
| Start/End Time | Optional time restriction (24-hour format) |
| Exclusive | When active, only this schedule's prerolls play |
| Blend | Combine with other active schedules |
| Priority | Higher priority wins during overlap (1-10) |
| Use Sequence | Use a saved sequence instead of a category |
| Fallback Category | Default prerolls when this schedule ends |
| Enabled | Toggle schedule on/off |
| Mode | Behavior |
|---|---|
| Exclusive | This schedule takes over completely — no other prerolls play |
| Blend | Prerolls from this schedule combine with other active schedules |
These can be set when running NeXroll (especially useful for Docker):
| Variable | Description | Default |
|---|---|---|
NEXROLL_PORT |
Web UI port | 9393 |
NEXROLL_DB_DIR |
Database and config directory | /data |
NEXROLL_PREROLL_PATH |
Preroll storage directory | /data/prerolls |
NEXROLL_SECRETS_DIR |
Secrets storage directory | /data |
SCHEDULER_INTERVAL |
How often to check schedules (seconds) | 60 |
TZ |
Container timezone (Docker) | UTC |
PUID |
User ID for file permissions (Docker) | 99 |
PGID |
Group ID for file permissions (Docker) | 100 |
environment:
- TZ=America/New_York
- NEXROLL_PORT=9393
- NEXROLL_DB_DIR=/data
- NEXROLL_PREROLL_PATH=/data/prerolls
- NEXROLL_SECRETS_DIR=/data
- SCHEDULER_INTERVAL=60When using the recommended volume mount (/data):
/data/
├── nexroll.db # SQLite database
├── prerolls/ # Uploaded preroll files
├── thumbnails/ # Generated thumbnails
├── nexup_trailers/ # Downloaded NeX-Up trailers
│ ├── movies/
│ └── tv/
└── secrets/ # Encrypted credentials
C:\ProgramData\NeXroll\
├── nexroll.db
├── prerolls\
├── thumbnails\
├── nexup_trailers\
└── logs\
-
Docker: View with
docker logs nexrollor use the built-in Log Viewer in Settings → Logs -
Windows: Use the built-in Log Viewer in Settings → Logs, or check
C:\ProgramData\NeXroll\logs\
Always download a backup before:
- Updating NeXroll
- Making bulk changes
- Restoring from another backup
Use the Test Translation feature to verify paths before applying to Plex. Incorrect path mappings are the most common cause of "prerolls not playing" issues.
If schedules aren't activating when expected, verify your timezone setting matches your actual location. Docker users must set the TZ environment variable.
When troubleshooting issues, check Settings → Logs for detailed error messages and request timings.