Skip to Content
Ombi

Ombi

Universal request management for Plex, Jellyfin, and Emby

Ombi is a self-hosted web application that provides a beautiful interface for managing content requests across Plex, Jellyfin, and Emby media servers. Users can browse, discover, and request movies, TV shows, and music through an intuitive web interface—Ombi then automatically forwards approved requests to Sonarr, Radarr, and Lidarr for download and processing. With user management, approval workflows, comprehensive notification support, and an automated invitation system, Ombi streamlines content management for shared media servers.

🎬 Multi-Server Support

Connect to Plex, Jellyfin, and Emby simultaneously—support for all three media server platforms

📡 Media Management Integration

Automatic request forwarding to Sonarr, Radarr, Lidarr, CouchPotato, and SickChill

👥 User Management

Roles, quotas, approval workflows, and automated invitation system for easy onboarding

🔔 Rich Notifications

Discord, Slack, email, Telegram, mobile push, and webhook notification support

📨 Invitation System

Automated email invitations with automatic media server account creation

🎨 Customizable Interface

Themes, custom CSS, landing pages, and full branding customization options

🔐 Reverse Proxy Access

Secure nginx reverse proxy with user-scoped URL paths

🗄️ Database Options

SQLite (default) or optional MySQL/MariaDB migration for enhanced performance

Multi-Server Flexibility

Ombi is unique among request managers—it supports Plex, Jellyfin, and Emby simultaneously. You can connect all three servers at once or use it with a single media server of your choice.


Installation

Prerequisites

  • QuickBox Pro v3 installed and configured
  • Target QuickBox user already exists (qb user create)
  • Plex, Jellyfin, or Emby media server installed and running (at least one required)
  • Sonarr and/or Radarr configured with media libraries (recommended)

What you get

  • Per-user Ombi installation at /opt/username/Ombi with isolated configuration
  • Automatic download from GitHub beta releases for latest features
  • Reverse-proxied access at https://yourserver.com/username/ombi
  • API key automatically extracted and saved to /home/username/.config/Ombi/ombi_api.txt
  • Managed systemd service ombi@username with journalctl logs

Basic Installation

Install Ombi for a specific user:

qb install ombi -u username

QuickBox automatically:

  1. Downloads latest Ombi beta release from GitHub
  2. Creates isolated per-user installation directories
  3. Configures systemd service with auto-start on boot
  4. Sets up nginx reverse proxy with user-scoped URL
  5. Extracts API key from database to text file for easy access
Command
qb install ombi -u username
Description
Install Ombi with automatic configuration
Command
qb reinstall ombi -u username
Description
Reinstall Ombi (preserves configuration and database)
Command
qb update ombi -u username
Description
Update to latest GitHub beta release
Command
qb remove ombi -u username
Description
Remove Ombi and clean up all files
Command
qb help ombi
Description
Display comprehensive help information

Automatic Port Assignment

QuickBox automatically assigns ports starting at 5000 (auto-incremented per user). Find your assigned port in the QuickBox dashboard or at /etc/systemd/system/ombi@username.service.

API Key Auto-Extraction

During installation, Ombi’s API key is automatically extracted from the database and saved to /home/username/.config/Ombi/ombi_api.txt for easy access when configuring integrations or API clients.


Directory Layout

/home/username/.config/Ombi
Ombi.db# Main SQLite database (user data, requests, settings)
OmbiSettings.db# Settings database (configuration, API keys, notifications)
OmbiExternal.db# External service integration data
ombi_api.txt# Auto-extracted API key for integrations
database.json# Database connection settings (MySQL migration)
Logs//# Application logs directory

Per-User Installation Architecture

QuickBox Pro uses per-user isolation for Ombi installations:

/opt/username/Ombi/ # Ombi binary and runtime files /home/username/.config/Ombi/ # Configuration, databases, and logs

Benefits:

  • True Multi-User Support: Each user gets isolated Ombi instance with separate configuration
  • Independent Updates: Update one user’s instance without affecting others
  • Enhanced Security: User-owned files prevent unauthorized modifications
  • Service Isolation: systemd services run with user-specific permissions

Network & Access

Ombi runs on an auto-assigned port (default base port 5000, incremented per user) and is accessible through nginx reverse proxy:

https://yourserver.com/username/ombi

QuickBox Dashboard Integration

Ombi is automatically integrated into your QuickBox dashboard. Find it in the Service Control panel with port and status information. Click the LAUNCH icon to open the web interface.

First-Time Setup:

  1. Open Ombi web interface at the URL above
  2. Create admin account on welcome screen
  3. Connect to Plex, Jellyfin, or Emby media server
  4. Add Sonarr, Radarr, and Lidarr integrations
  5. Configure notification channels (Discord, email, mobile)
  6. Set up user management rules and quotas
  7. Customize interface with themes and branding

Services

Ombi uses a templated systemd unit (ombi@.service) for per-user isolation:

# Check service status systemctl status ombi@username # View live logs journalctl -u ombi@username -f # Restart service systemctl restart ombi@username # Enable auto-start on boot (already enabled by default) systemctl enable ombi@username # Stop service systemctl stop ombi@username

Service Configuration

The systemd service is configured with:

  • User/Group: Runs as specified username with appropriate permissions
  • Working Directory: /opt/username/Ombi/
  • Storage Path: /home/username/.config/Ombi/
  • Base URL: /username/ombi for reverse proxy integration
  • Host Binding: http://0.0.0.0:port (port auto-assigned starting at 5000)
  • Auto-Restart: Automatically restarts on failure with 5-second delay
  • Timeout: 30-second graceful shutdown timeout

Initial Configuration

1. Create Admin Account

On first access to Ombi web interface:

  1. Navigate to https://yourserver.com/username/ombi
  2. Click Create Local Admin
  3. Enter admin credentials:
    • Username - Your preferred admin username
    • Email - Admin email address for notifications
    • Password - Strong, unique password
  4. Click Sign Up
  5. Login with your new credentials

2. Connect Media Server

Configure your media server integration (Settings → Media Server):

Plex Configuration:

  1. Select Plex tab
  2. Enter server details:
    • Server Name - Friendly name for your server
    • Hostname or IP - Server address (e.g., localhost or plex.domain.com)
    • Port - Plex port (default 32400)
    • Machine Identifier - Found in Plex server settings
    • Plex Auth Token - Obtain from https://www.plex.tv/claim  or Plex Web inspector
  3. Click Test Connectivity
  4. Click Save once verified
  5. Click Load Libraries to import media libraries

Jellyfin Configuration:

  1. Select Jellyfin tab
  2. Enter server details:
    • Server Name - Friendly name
    • Hostname or IP - Server address (e.g., localhost)
    • Port - Jellyfin port (default 8096)
    • API Key - From Jellyfin → Dashboard → API Keys
    • Administrator Username - Your Jellyfin admin username
  3. Click Test Connectivity, then Save
  4. Click Load Libraries

Emby Configuration:

  1. Select Emby tab
  2. Enter server details:
    • Server Name - Friendly name
    • Hostname or IP - Server address
    • Port - Emby port (default 8096)
    • API Key - From Emby → Dashboard → Advanced → API Keys
  3. Click Test Connectivity, then Save
  4. Click Load Libraries

3. Configure Media Management Integrations

Sonarr Configuration (TV Shows):

Navigate to Settings → TV → Sonarr:

  1. Enabled - Check to enable integration
  2. Default Server - Check if primary Sonarr instance
  3. Server Name - Descriptive name for this instance
  4. Hostname or IP - localhost (for local installations)
  5. Port - Your Sonarr port (default 8989)
  6. API Key - Copy from Sonarr → Settings → General → API Key
  7. SSL - Uncheck (reverse proxy handles SSL)
  8. Quality Profile - Select default profile for TV shows
  9. Root Path - Select TV shows directory
  10. Language Profile - Select language preference
  11. Click Test to verify connection
  12. Click Save

Radarr Configuration (Movies):

Navigate to Settings → Movies → Radarr:

  1. Follow same configuration pattern as Sonarr
  2. Port - Your Radarr port (default 7878)
  3. API Key - From Radarr → Settings → General → API Key
  4. Quality Profile - Select default movie quality profile
  5. Root Path - Select movies directory
  6. Minimum Availability - Select availability preference (Announced, In Cinemas, Released, etc.)
  7. Click Test, then Save

Lidarr Configuration (Music - Optional):

Navigate to Settings → Music → Lidarr:

  1. Follow same configuration pattern
  2. Port - Your Lidarr port (default 8686)
  3. API Key - From Lidarr → Settings → General
  4. Quality Profile - Select music quality profile
  5. Root Path - Select music directory
  6. Click Test, then Save

Common Tasks

Start, Stop, and Restart

# Start Ombi systemctl start ombi@username # Stop Ombi systemctl stop ombi@username # Restart Ombi systemctl restart ombi@username

Update Ombi

Update to the latest GitHub beta release:

qb update ombi -u username

QuickBox automatically:

  • Stops the Ombi service
  • Backs up existing installation
  • Downloads latest beta release
  • Replaces binary files
  • Preserves configuration and databases
  • Restarts service

Reinstall Ombi

Reinstall while preserving configuration:

qb reinstall ombi -u username

Use Cases:

  • Fix corrupted installation
  • Reset to clean state while keeping databases
  • Repair systemd service configuration
  • Regenerate nginx reverse proxy settings

Remove Ombi

Complete removal with cleanup:

qb remove ombi -u username

This removes:

  • Ombi binary and runtime files
  • Configuration directory and databases
  • systemd service file
  • nginx reverse proxy configuration
  • QuickBox database entries
  • Backup files

Data Loss Warning

Removing Ombi will permanently delete all configuration, user data, request history, and databases. Make manual backups if you need to preserve this data before removal.

Migrate to MySQL/MariaDB

Ombi uses SQLite by default, but you can migrate to MySQL/MariaDB for better performance on high-traffic instances:

qb update ombi -u username --ombi2mysql

Migration Process:

  1. Installs MariaDB 11.8 if not present
  2. Creates dedicated database and user
  3. Backs up existing SQLite databases
  4. Generates database.json configuration
  5. Creates MySQL schema using Ombi binary
  6. Migrates data from SQLite to MySQL
  7. Removes old SQLite databases
  8. Restarts Ombi with MySQL backend

Optional: Install phpMyAdmin

Add --phpmyadmin flag to install phpMyAdmin alongside MySQL migration:

qb update ombi -u username --ombi2mysql --phpmyadmin

MySQL Performance Benefits

MySQL/MariaDB provides better performance for Ombi installations with:

  • • Large user bases (50+ users)
  • • High request volume (hundreds of requests per day)
  • • Multiple concurrent users
  • • Complex approval workflows

For small personal servers with 5-10 users, SQLite is sufficient.


Use Cases

Family & Friends Media Sharing

  • Allow family and friends to request content through intuitive interface
  • Set individual user quotas to manage storage and bandwidth
  • Use approval workflows to moderate requests before processing
  • Automatic notifications when requested content is available

Multi-Server Media Hub

  • Connect Plex, Jellyfin, and Emby simultaneously
  • Users choose which server to request content for
  • Centralized request management across all platforms
  • Single interface for diverse media server ecosystem

Automated User Onboarding

  • Send email invitations to new users with custom Ombi link
  • Users sign up and automatically receive media server access
  • Set default quotas and permissions based on user roles
  • Track user activity and request patterns through analytics

Community Media Server

  • Manage large user bases with role-based permissions
  • Implement request quotas and approval workflows
  • Rich notification system keeps users informed
  • Customizable branding and landing pages

Community Media Server

  • Manage large user bases with role-based permissions
  • Implement request quotas and approval workflows
  • Rich notification system keeps users informed
  • Customizable branding and landing pages

FAQ

Yes. Ombi supports connecting to Plex, Jellyfin, and Emby simultaneously. You can configure all three servers and let users choose which platform to request content for, or use Ombi with a single media server.
QuickBox automatically extracts the API key during installation and saves it to /home/username/.config/Ombi/ombi_api.txt. You can also find it in Ombi web interface under Settings → Configuration → API Key.
Migrate to MySQL if you have 50+ users, high request volume (hundreds per day), or multiple concurrent users. For small personal servers with 5-10 users, SQLite performance is sufficient. Migration is reversible if needed.
Check: 1) Default Server checkbox is enabled in Sonarr/Radarr settings. 2) API key is correct and matches Sonarr/Radarr settings. 3) Quality profile is selected. 4) Root path is valid and accessible. 5) Connection test passes successfully. View logs with 'journalctl -u ombi@username -f' for detailed error messages.
Stop Ombi service (systemctl stop ombi@username), open SQLite database with sqlite3 /home/username/.config/Ombi/Ombi.db, run SQL commands to update user password hash, then restart service. Alternatively, reinstall Ombi to reset to fresh state with new admin account creation.
Yes. Configure automatic approval in Settings → User Management → User Roles. You can set different approval requirements per role (e.g., admins auto-approve, regular users require approval) and implement request quotas to prevent spam.

Best Practices

Do

  • Set up Discord or email notifications for request updates and user activity monitoring
  • Configure user quotas to prevent request spam (5-10 requests per week recommended for regular users)
  • Enable approval workflows for non-admin users to moderate content before processing
  • Use Ombi's built-in invitation system for easy user onboarding with automatic account creation
  • Regularly backup Ombi.db and OmbiSettings.db databases to prevent data loss
  • Create custom user roles with granular permissions for different user tiers (VIP, regular, limited)
  • Enable mobile notifications (Pushbullet, Pushover) for on-the-go request management
  • Customize landing page and themes to match your server branding and create cohesive experience

Don't

  • Don't grant admin access to all users—use roles and quotas for proper access control
  • Don't disable approval workflows without quota limits—leads to request spam and storage issues
  • Don't manually edit Ombi databases while service is running—causes database corruption
  • Don't configure multiple default servers for same media type—creates conflicts and duplicate requests
  • Don't ignore failed notification configurations—check SMTP settings and webhook endpoints
  • Don't set unlimited quotas for all users—overwhelms storage capacity and bandwidth
  • Don't forget to configure root folders in Sonarr/Radarr—requests will fail without valid paths
  • Don't share admin credentials with users—use invitation system to create proper user accounts

Troubleshooting

Ombi Won’t Start

Symptoms:

  • Service fails immediately after start
  • Unable to access Ombi web interface
  • systemd service shows failed status

Resolution Steps:

# Check service status and recent logs systemctl status ombi@username journalctl -u ombi@username -n 50 # Verify Ombi binary permissions ls -la /opt/username/Ombi/Ombi # Should show: -rwxr-xr-x (executable) # Fix permissions if needed chmod +x /opt/username/Ombi/Ombi chown username:username /opt/username/Ombi/Ombi # Restart service systemctl restart ombi@username

Common Causes

Binary permission issues typically occur after manual file operations or updates. QuickBox’s update command handles permissions automatically.

Cannot Connect to Media Server

Symptoms:

  • Plex/Jellyfin/Emby connection test fails
  • Error: “Unable to connect to server”
  • Libraries not loading after connection
  • Authentication errors with API key or token

Resolution Steps:

  1. Verify media server is running:

    # Check Plex status systemctl status plexmediaserver # Check Jellyfin status systemctl status jellyfin@username # Check Emby status systemctl status emby-server@username
  2. Verify hostname and port settings:

    • Use localhost for local servers (not 127.0.0.1 or server IP)
    • Confirm port matches media server configuration
    • Check firewall rules if using remote server
  3. Verify authentication credentials:

    • Plex: Auth token may have expired—generate new token from https://www.plex.tv/claim 
    • Jellyfin/Emby: API key must have admin permissions—regenerate if needed
  4. Test nginx reverse proxy:

    sudo nginx -t sudo systemctl reload nginx

Sonarr/Radarr Connection Failed

Symptoms:

  • Connection test fails in Ombi settings
  • Requests not forwarding to download clients
  • API authentication errors

Resolution Steps:

# Verify services are running systemctl status sonarr@username systemctl status radarr@username # Test API connectivity directly curl http://localhost:7878/api/v3/system/status?apikey=YOUR_RADARR_API_KEY curl http://localhost:8989/api/v3/system/status?apikey=YOUR_SONARR_API_KEY # Check API keys match # Radarr: Settings → General → Security → API Key # Sonarr: Settings → General → Security → API Key

Configuration Checklist:

  • ✅ Use localhost as hostname (not 127.0.0.1 or server IP)
  • ✅ Port matches service port (7878 for Radarr, 8989 for Sonarr)
  • ✅ SSL disabled in Ombi (reverse proxy handles encryption)
  • ✅ Default Server checkbox enabled
  • ✅ Quality profile selected
  • ✅ Root path is valid and accessible

Requests Not Sending to Sonarr/Radarr

Symptoms:

  • Users can request content but nothing happens
  • No errors shown in Ombi interface
  • Requests remain in pending state

Resolution Steps:

# Check Ombi logs for errors journalctl -u ombi@username -f | grep -i error # Common issues to verify: # 1. Default server checkbox # Settings → Movies/TV → Check 'Default Server' # 2. Quality profiles exist and are valid # Verify profile name matches Sonarr/Radarr configuration # 3. Root paths are configured and accessible # Test path write permissions: touch /path/to/media/test.txt # 4. Test manual request from Ombi UI # Browse media → Request → Check logs immediately

Email Notifications Not Working

Symptoms:

  • Test email fails to send
  • Users not receiving notifications
  • SMTP connection errors in logs

Resolution Steps:

  1. Verify SMTP configuration (Settings → Notifications → Email):

    • SMTP Server hostname (e.g., smtp.gmail.com)
    • SMTP Port (465 for SSL, 587 for TLS, 25 for plain)
    • Enable SSL/TLS if required by provider
    • Valid username and password credentials
  2. Test email notification:

    • Settings → Notifications → Email → Send Test Email
    • Check spam folder if test email missing
  3. Check logs for SMTP errors:

    journalctl -u ombi@username -f | grep -i email

Gmail SMTP Setup

For Gmail SMTP, use App Passwords instead of your regular password. Generate at Google Account → Security → 2-Step Verification → App passwords. Use port 587 with TLS enabled.

Database Corruption

Symptoms:

  • Ombi crashes on startup
  • Database locked errors in logs
  • Incomplete or missing data in web interface

Resolution Steps:

# Stop Ombi service systemctl stop ombi@username # Backup existing databases cp /home/username/.config/Ombi/Ombi.db /home/username/.config/Ombi/Ombi.db.backup cp /home/username/.config/Ombi/OmbiSettings.db /home/username/.config/Ombi/OmbiSettings.db.backup # Check database integrity sqlite3 /home/username/.config/Ombi/Ombi.db "PRAGMA integrity_check;" sqlite3 /home/username/.config/Ombi/OmbiSettings.db "PRAGMA integrity_check;" # If corrupted, restore from QuickBox backup # Backups location: /opt/quickbox/backups/software/username/ombi/ # Restart Ombi systemctl start ombi@username

Database Maintenance

Never manually edit database files while Ombi is running. Always stop the service first, make changes, then restart. QuickBox automatically creates database backups during updates and reinstalls.



🎬

Media Servers

📡

Media Management

📥

Request Management


Additional Resources


Join the Community

Media server operators sharing configs, getting support, and shaping the future of QuickBox Pro.

Dedicated Support
Feature Previews
Community Configs
Active Discussions
Join Discord Server