Sep 29, 2024 4 min read

Ombi: Essential Tips for Successful Self-Hosting

Ombi: Essential Tips for Successful Self-Hosting
Table of Contents

Ombi is a powerful, self-hosted application that simplifies media request and management workflows for Plex, Emby, and Jellyfin. It allows users to request new media, check availability, and automate downloads seamlessly. By hosting Ombi yourself, you retain full control over your data and configuration, making it an ideal solution for tech-savvy users and administrators. In this guide, we’ll walk you through installing, configuring, and managing Ombi with actionable, code-focused steps.

Installing Ombi

πŸ“¦ Docker/Docker Compose Setup

Docker is the recommended method for deploying Ombi due to its simplicity and isolation. Below is an example docker-compose.yml file tailored for Ombi.


version: "3.9"

services:

ombi:

image: linuxserver/ombi:latest

container_name: ombi

environment:

- PUID=1000        # Replace with your user ID

- PGID=1000        # Replace with your group ID

- TZ=America/New_York  # Replace with your timezone

volumes:

- /path/to/config:/config   # Persistent storage for Ombi

ports:

- 3579:3579         # Expose Ombi's web interface

restart: unless-stopped

To deploy Ombi using Docker Compose, run the following commands in your terminal:


mkdir -p /path/to/ombi

cd /path/to/ombi

nano docker-compose.yml    # Paste the above configuration

docker-compose up -d

The docker-compose up -d command will spin up the Ombi container in detached mode.

πŸš€ Manual Installation

If Docker is not an option, you can manually install Ombi on a Linux server. Below are the steps:

  1. Install required dependencies:

sudo apt update

sudo apt install -y curl unzip

  1. Download the latest Ombi build:

curl -L https://github.com/Ombi-app/Ombi/releases/download/v4.40.0/Ombi-linux-x64.zip -o ombi.zip

unzip ombi.zip -d /opt/ombi

  1. Set up Ombi as a systemd service:

sudo nano /etc/systemd/system/ombi.service

Add the following contents:


[Unit]

Description=Ombi Service

After=network.target

[Service]

ExecStart=/opt/ombi/Ombi --basepath /

Restart=always

User=ombi

Group=ombi

[Install]

WantedBy=multi-user.target

  1. Enable and start Ombi:

sudo systemctl enable ombi

sudo systemctl start ombi

Ombi should now be running at http://<your_server_ip>:3579.

Configuring Nginx as a Reverse Proxy

🌐 Nginx Configuration

To make Ombi accessible via a custom domain (e.g., ombi.example.com), configure Nginx with the following server block:


server {

server_name ombi.example.com;

location / {

proxy_pass http://localhost:3579;  # Ombi's internal port

proxy_set_header Host $host;

proxy_set_header X-Real-IP $remote_addr;

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

proxy_set_header X-Forwarded-Proto $scheme;

}

listen 80;

}

Save this configuration to /etc/nginx/sites-available/ombi and enable it:


sudo ln -s /etc/nginx/sites-available/ombi /etc/nginx/sites-enabled/

sudo nginx -t

sudo systemctl reload nginx

πŸ”’ SSL/TLS Setup

Secure your Ombi instance with Let's Encrypt SSL:


sudo apt install -y certbot python3-certbot-nginx

sudo certbot --nginx -d ombi.example.com

Certbot will automatically configure SSL for your domain and set up automated renewals.

πŸ› οΈ Testing and Reloading Nginx

After making changes, always test your configuration:


sudo nginx -t

sudo systemctl reload nginx

Visit https://ombi.example.com to ensure Ombi is working.

Logging and Debugging Ombi

πŸ—ƒοΈ Enabling Debug Logs

To enable debug-level logging in Ombi:

  1. Log in to the Ombi web interface.

  2. Go to Settings > Configuration > Log Level and set it to Debug.

  3. Restart the Ombi service for the changes to take effect.

πŸ“„ Viewing Logs

Access logs depending on your installation method:

  • Docker: Run docker logs -f ombi to view real-time logs.

  • Manual: Check the logs in /opt/ombi/Logs/log-<date>.txt.

πŸ› οΈ Troubleshooting Common Issues

If Ombi fails to start, check for:

  • Port conflicts: Verify no other services are using port 3579.

  • Permissions: Ensure the ombi user has access to the /config directory.

πŸ“€ Exporting Logs

For advanced analysis with ELK Stack, forward logs using Filebeat or similar tools. For example:


sudo filebeat setup

sudo filebeat modules enable logstash

sudo nano /etc/filebeat/filebeat.yml

Backup and Restore

πŸ—‚οΈ File-Based Backups

Backup Ombi’s configuration directory:


tar -czvf ombi-backup.tar.gz /path/to/ombi/config

Restore it by extracting the tarball:


tar -xzvf ombi-backup.tar.gz -C /path/to/ombi/config

πŸ”„ Database Backups

If you’re using an external database, back it up with:


mysqldump -u username -p ombi_db > ombi_db_backup.sql

Restore it with:


mysql -u username -p ombi_db < ombi_db_backup.sql

πŸ“… Automated Backup Scripts

Create a cron job for automated backups:


echo "0 2 * * * tar -czvf /path/to/backups/ombi-$(date +\%F).tar.gz /path/to/ombi/config" | crontab -

Updating and Upgrading Ombi

⬆️ Updating Docker Images

To update Ombi when using Docker:


docker-compose pull

docker-compose down

docker-compose up -d

πŸ› οΈ Manual Updates

If manually installed, download the latest version and overwrite the existing files:


curl -L https://github.com/Ombi-app/Ombi/releases/download/v4.40.0/Ombi-linux-x64.zip -o ombi.zip

unzip -o ombi.zip -d /opt/ombi

sudo systemctl restart ombi

πŸ” Checking for Updates

Log in to the Ombi web interface and go to Settings > System > Updates to see if a new version is available.

Leveraging Ombi’s Unique Features

πŸ”§ Enabling APIs

To enable and use Ombi’s API:

  1. Go to Settings > Configuration > API Key and generate a key.

  2. Use the API with tools like curl:


curl -H "Authorization: Bearer <API_KEY>" http://<your_server_ip>:3579/api/v1/Request

🌟 Advanced Configurations

  • Integrate Ombi with Radarr and Sonarr to automate downloads.

  • Customize the UI by going to Settings > Customization to add branding or adjust the theme.

Wrapping Up

This guide covered the essential steps to install, configure, and manage Ombi, including setting up a reverse proxy, securing it with SSL, and leveraging its advanced features. By following these steps, you can fully harness the power of Ombi while maintaining control over your media management workflows. Dive in and start exploring the full potential of Ombi today!

Great! You’ve successfully signed up.
Welcome back! You've successfully signed in.
You've successfully subscribed to Selfhosted Ninja.
Your link has expired.
Success! Check your email for magic link to sign-in.
Success! Your billing info has been updated.
Your billing was not updated.