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
Note

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

Install from the Dashboard

Open App Dashboard → Package Management (/dashboard?mode=packages), find Ombi in the catalog (browse Media Requests or search), and click Install. The dashboard streams the install log live and Ombi appears in your Application Control panel when it finishes. Reinstall, Update, and Remove are available from the same panel.

In the install dialog you can pick the release channel — Beta (the default) or Stable — and an optional reverse-proxy domain. See Channels & Versions for how channels work.

What you see is gated by your account: admins manage any user’s apps; regular users manage their own. See App Management for the full flow.

QuickBox automatically creates the per-user installation, configures the ombi@username systemd service with auto-start, sets up the nginx reverse proxy with a user-scoped URL, and extracts the API key from the database to /home/username/.config/Ombi/ombi_api.txt for easy access.

Install from the CLI (automation)

The CLI runs the same scripts as the Dashboard and is suited to automation and scripting:

bash
qb help ombi
qb install ombi -u username            # Beta channel (default)
qb install ombi -u username --stable   # Stable channel
qb reinstall ombi -u username
qb update ombi -u username
qb remove ombi -u username

Full flag reference: CLI Reference.

Port and API key
Info

Ombi runs on an auto-assigned port (base 5000, incremented per user) — find it in the App Dashboard (the Ombi row) or at /etc/systemd/system/ombi@username.service. The API key is auto-extracted to /home/username/.config/Ombi/ombi_api.txt during install.


Directory Layout

Path
Description
/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:

text
/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
Tip

Ombi is automatically integrated into your QuickBox dashboard. Find it on the App Dashboard (the default control view), expand its row for port and status, and click Open to launch 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

Managing requests from the dashboard

Once Ombi is installed, its requests appear on the dashboard’s Media Requests page alongside every other Ombi and Seerr instance on the server — with posters, titles, and cast. You can review, approve, and deny requests there without opening each Ombi install separately, and the page discovers your instance automatically, with no URL or API key to configure. Access to that page is granted through a role; having Ombi installed does not by itself provide it.

Ombi keeps your denial reasons
Tip

When you deny a request from the Media Requests page, Ombi records the reason you enter and shows it to the requester — Seerr does not store one. Ombi reports availability as either available or not, without the partial state Seerr tracks for a series that has only partly arrived. Request submission, quotas, notifications, and automation stay in Ombi itself — the dashboard page is a review-and-decide surface over what Ombi already holds. See Media Requests for the full reference.

The dashboard also keeps its own record of your fulfilled requests, so a title stays visible on its Previously requested shelf even after Ombi removes it. If you have enabled Ombi’s Auto Delete Available Requests option (Ombi’s Settings > General), requests Ombi purged before the dashboard first saw them cannot be recovered and show only as a count — turn that option off if you want Ombi to keep its full history. See What history can and cannot recover.

MySQL installs: a rotated API key needs a manual entry
Warning

If you migrated Ombi to MySQL/MariaDB and later rotate its API key from inside Ombi, the dashboard does not re-read it automatically — set the new key as a Manual override in the dashboard’s Media Requests settings. SQLite installs (the default) re-export the key on update and need no manual step.


Services

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

bash
# 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:

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)
  • User/Group: Runs as specified username with appropriate permissions
  • 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

bash
# 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:

bash
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:

bash
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:

bash
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
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:

bash
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:

bash
qb update ombi -u username --ombi2mysql --phpmyadmin
MySQL Performance Benefits
Info

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.


FAQ


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:

bash
# 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
Info

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:

    bash
    # 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:

    bash
    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:

bash
# 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:

  • Yes Use localhost as hostname (not 127.0.0.1 or server IP)
  • Yes Port matches service port (7878 for Radarr, 8989 for Sonarr)
  • Yes SSL disabled in Ombi (reverse proxy handles encryption)
  • Yes Default Server checkbox enabled
  • Yes Quality profile selected
  • Yes 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:

bash
# 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:

    bash
    journalctl -u ombi@username -f | grep -i email
Gmail SMTP Setup
Tip

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:

bash
# 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
Warning

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

3

Media Management

3

Request Management

2

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
Last updated on