Skip to content

Deploying Ombi

Introduction

Ombi is a self-hosted web application that allows your shared Plex, Emby, or Jellyfin users to request movies and TV shows. It automatically connects with your download clients like Sonarr and Radarr to fulfill requests, creating a seamless experience for users to discover and request content.

Built with .NET Core, Ombi provides a beautiful, user-friendly interface where users can search for content, request it with a single click, and track the status of their requests. Administrators get a complete dashboard for managing requests, users, and notifications.

Key highlights of Ombi:

  • User Requests: Let users request movies and TV shows
  • Media Server Integration: Connect with Plex, Emby, or Jellyfin
  • Download Automation: Integrates with Sonarr, Radarr, Lidarr
  • User Management: Sync users from your media server
  • Request Management: Approve, deny, and track requests
  • Notifications: Email, Discord, Telegram, and more
  • Discovery: Browse popular and trending content
  • Mobile Friendly: Responsive design for all devices
  • Multi-User: Role-based access control
  • Newsletter: Automated content newsletters
  • Open Source: GPL-2.0 license with active development

This guide walks through deploying Ombi on Klutch.sh using Docker.

Why Deploy Ombi on Klutch.sh

Deploying Ombi on Klutch.sh provides several advantages:

Simplified Deployment: Klutch.sh handles the .NET deployment automatically.

Persistent Storage: Attach persistent volumes for configuration and database.

HTTPS by Default: Automatic SSL certificates for secure user access.

GitHub Integration: Version-controlled deployments through your repository.

Scalable Resources: Allocate CPU and memory based on user count.

Environment Variable Management: Securely store API keys.

Custom Domains: Use your own domain for a professional request portal.

Always-On Availability: Your request system remains accessible 24/7.

Prerequisites

Before deploying Ombi on Klutch.sh, ensure you have:

  • A Klutch.sh account
  • A GitHub account with a repository for your configuration
  • A Plex, Emby, or Jellyfin server
  • (Optional) Sonarr/Radarr for automatic downloading
  • (Optional) A custom domain for your Ombi instance

Understanding Ombi Architecture

Ombi connects multiple services:

Core Application: .NET Core web application handling requests and user management.

SQLite/MySQL Database: Stores users, requests, and configuration.

Media Server API: Connects to Plex/Emby/Jellyfin for library data.

Download Client API: Integrates with Sonarr/Radarr for fulfillment.

Notification System: Sends alerts via multiple channels.

Deploying Ombi on Klutch.sh

    Create Your GitHub Repository

    Create a new GitHub repository for your Ombi deployment configuration.

    Create the Dockerfile

    Create a Dockerfile in your repository root:

    FROM lscr.io/linuxserver/ombi:latest
    # Environment configuration
    ENV PUID=1000
    ENV PGID=1000
    ENV TZ=America/New_York
    # Data directory
    VOLUME /config
    EXPOSE 3579

    Create a New Project on Klutch.sh

    Navigate to the Klutch.sh dashboard and create a new project.

    Create a New App

    Within your project, create a new app and connect your GitHub repository.

    Configure HTTP Traffic

    In the deployment settings:

    • Select HTTP as the traffic type
    • Set the internal port to 3579

    Set Environment Variables

    Configure the following environment variables:

    VariableValue
    PUID1000
    PGID1000
    TZYour timezone

    Attach Persistent Volumes

    Add persistent storage:

    Mount PathRecommended SizePurpose
    /config10 GBConfiguration and database

    Deploy Your Application

    Click Deploy to start the build process.

    Complete Initial Setup

    Access Ombi at https://your-app.klutch.sh:

    1. Create admin account
    2. Configure media server connection
    3. Set up download clients
    4. Import users

Initial Configuration

Media Server Setup

Connect your media server:

For Plex:

  1. Go to Settings > Media Server
  2. Select Plex
  3. Enter your Plex URL
  4. Add your Plex token
  5. Test connection

For Jellyfin/Emby:

  1. Select your server type
  2. Enter server URL
  3. Add API key
  4. Test connection

Download Client Integration

Connect Sonarr for TV shows:

  1. Go to Settings > TV
  2. Select Sonarr
  3. Enter Sonarr URL and API key
  4. Configure quality profiles
  5. Test connection

Connect Radarr for movies:

  1. Go to Settings > Movies
  2. Select Radarr
  3. Enter Radarr URL and API key
  4. Configure quality profiles
  5. Test connection

User Import

Sync users from your media server:

  1. Go to Settings > User Importer
  2. Enable auto-import
  3. Set default permissions
  4. Run initial import

User Management

User Roles

Configure permissions:

  • Admin: Full access to all settings
  • Power User: Can approve requests
  • User: Can make requests
  • Disabled: No access

Request Limits

Set per-user limits:

  1. Go to User Management
  2. Select user
  3. Set movie request limit
  4. Set TV request limit
  5. Configure limits by quality

Auto-Approval

Speed up requests:

  1. Go to Settings > Ombi
  2. Enable auto-approve for movies
  3. Enable auto-approve for TV
  4. Configure by user role

Notifications

Email Notifications

Set up email alerts:

  1. Go to Settings > Notifications
  2. Enable Email
  3. Configure SMTP settings
  4. Test notification

Discord Integration

Send to Discord:

  1. Create Discord webhook
  2. Enable Discord notification
  3. Add webhook URL
  4. Configure message templates

Other Channels

Available notifications:

  • Telegram
  • Pushover
  • Pushbullet
  • Slack
  • Gotify
  • Webhook

Request Workflow

Making Requests

Users experience:

  1. Search for content
  2. View details and trailers
  3. Click Request
  4. Receive confirmation
  5. Get notified when available

Managing Requests

Admin tasks:

  1. View pending requests
  2. Approve or deny
  3. Add notes/comments
  4. Track download status
  5. Manage issues

Discovery Features

Help users find content:

  1. Popular movies
  2. Trending TV shows
  3. Recently added
  4. Coming soon
  5. Recommendations

Advanced Features

Newsletter

Automated content updates:

  1. Enable newsletter feature
  2. Configure schedule
  3. Set included content
  4. Design template

Mass Email

Communicate with users:

  1. Go to Newsletter > Mass Email
  2. Select recipients
  3. Compose message
  4. Send notification

Issues Reporting

Track content problems:

  1. Enable issue reporting
  2. Users report problems
  3. Admins investigate
  4. Resolve and notify

Production Best Practices

Security Recommendations

  • Use strong admin passwords
  • Enable HTTPS
  • Configure appropriate permissions
  • Secure API keys
  • Regular updates

Performance

Optimize for users:

  1. Configure caching
  2. Schedule background tasks
  3. Monitor database size
  4. Limit concurrent requests

Backup Strategy

  1. Database Backups: Back up /config directory
  2. Configuration: Export settings
  3. User Data: Include in backups

Troubleshooting Common Issues

Media Server Not Connecting

  • Verify server URL and port
  • Check API key/token
  • Confirm network connectivity
  • Review server firewall

Requests Not Processing

  • Check download client connection
  • Verify API keys
  • Review quality profiles
  • Check download client logs

Users Not Syncing

  • Verify media server connection
  • Check import schedule
  • Review import logs
  • Manually trigger import

Additional Resources

Conclusion

Deploying Ombi on Klutch.sh provides a polished request management system for your media server users. By connecting your media server with download automation tools, Ombi creates a seamless experience where users can discover, request, and receive content with minimal admin intervention. The notification system keeps everyone informed, making it perfect for families, roommates, or friends sharing a media library.