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:
- Install required dependencies:
sudo apt update
sudo apt install -y curl unzip
- 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
- 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
- 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:
-
Log in to the Ombi web interface.
-
Go to Settings > Configuration > Log Level and set it to
Debug
. -
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:
-
Go to Settings > Configuration > API Key and generate a key.
-
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!