Table of Contents
Installation Instructions
Note: After installing the system, be sure to configure your own systems to handle the requests after approval.
Any requests made without an endpoint to receive it will not be able to be re-processed at this point.
Whatever combination of the supported systems you use is up to you - Sonarr, Radarr, Couchpotato, Lidarr... Whatever.
For a guide on updating, see Update Settings
For notes to consider when migrating an existing install rather than starting fresh, see Migrating Systems
Default port is 5000
Recommended install workflow
- Install Ombi for your preferred OS using the steps provided below.
If you are migrating systems, rather than starting fresh, stop here and look at Migrating Systems. - Configure your install-specific settings like the application url you'll be using externally.
- Configure external access to Ombi. We recommend using SSL and a reverse proxy.
- Configure notification methods and system connections (Sonarr, Radarr, etc).
Ensure you have systems to handle approved requests before you give users access to the system. - Import users and assign permissions.
Migrating Systems
If you're migrating Ombi from an existing install to a new install, the install process itself is exactly the same as below - with one exception, regardless of what you're migrating from or to.
From your original Ombi installation you will need:
- Ombi.db
- OmbiExternal.db
- OmbiSettings.db
When it comes time to actually launch Ombi on your fresh installation, place the above files into the new Ombi directory (wherever you may have put it), and then launch Ombi. This way Ombi will load with all of your prior settings, customisations, users, and synced data (so it doesn't require a full re-sync with Plex).
If you are running docker, place these files into the folder you've passed into the container as "/config" for the installation to find them.
Windows
- Download the latest
win10-xxx.zip
(x64 or x86 depends on your system) from https://github.com/tidusjar/ombi.releases/releases - Right click > Properties > Unblock
- Extract the zip to your preferred directory. DO NOT place in the "Program Files" or "ProgramData" folders as the Ombi database will be locked.
- Run Ombi.exe
Install as a Service with NSSM
(This is the preferred method on Windows)
- Download the latest
win10-xxx.zip
(x64 or x86 depends on your system) from https://github.com/tidusjar/ombi.releases/releases - Right click > Properties > Unblock
- Extract the zip to your preferred directory. DO NOT place in the "Program Files" or "ProgramData" folders as the Ombi database will be locked.
- Use NSSM to manage Ombi. Extract either the 32-/64-bit version to C:\Windows\system32. Open command prompt as an Administrator and type nssm install Ombi. Use one of the following settings depending on whether you want to keep or change the default port.
Standard Setup
Be sure to adjust directories to your Ombi install location
Path: C:\Tools\Ombi\Ombi.exe
Start directory: C:\Tools\Ombi
Standard Setup with different port number
Be sure to adjust directories to your Ombi install location
Path: C:\Tools\Ombi\Ombi.exe
Start directory: C:\Tools\Ombi
Arguments: --host "http://*:PORTNUMBER"
Install as a Service with Windows Task Scheduler
Allows automatic updating on windows: updater currently broken.
As an alternative to NSSM, you can use Task Scheduler to run Ombi.exe
as if you were double clicking it and running it like a regular executable, except it's hidden from the task bar and can only be closed by the Task Manager or the Task Scheduler.
- Open 'Task Scheduler' either search for it in start. Or simply Run... WIN+R
%windir%\system32\taskschd.msc
- Click
Create task...
on the right hand side. - Give the task a name. Example: Ombi And a description if you want. (Not necessary)
- Check
Run with highest privileges
- Click
Run whether user is logged on or not
to ensure Ombi runs even when you are logged out! - Check
Hidden
- Configure for: Choose your Windows version.
- Click the
Triggers
Tab and clickNew...
Begin the task:
'At system startup. Click
OK`- Click the
Actions
Tab and ClickNew...
- Click
Browse...
and navigate to yourOmbi.exe
ClickOpen
- Fill
Start in (optional):
withOmbi.exe
's working directory. IE:C:\Ombi\
orC:\SERVERS\Ombi\
basically, wherever you extracted your 'Ombi' folder to and where it lives. ClickOK
Settings Tab
UntickStop the task if it runs longer than:
ClickOK
- You will be prompted for your windows user name and password. Please enter your credentials and click
OK
- Click
Task Scheduler Library
right click on your new task and hit run. give it a good 20-30 seconds to start. Ombi should now be reachable at http://localhost:5000 !
Note: The next time you restart your PC, Task Scheduler will run ombi for you.
Windows Firewall
To add a port forward in Windows Firewall, you have a few options.
Note that this is not the preferred method of access, and a Reverse Proxy is recommended instead.
Replace the port in the below commands with your own port if you're running a different port than the default.
Command Prompt
netsh advfirewall firewall add rule name="Ombi" dir=in action=allow protocol=TCP localport=5000
Powershell
New-NetFirewallRule -DisplayName 'Ombi' -Direction Inbound -Action Allow -Protocol TCP -LocalPort @('5000')
Linux systems
APT repo (The easy way, only Debian-based distros)
- This repo is maintained by @louis-lau. Go bug him on discord if you have problems specifically with the repo. Don't open an issue here.
- Note that as of now only systemd is supported, not upstart. That means Debian jessie and up, and Ubuntu 15.04 and up.
- Builds should be in the repo within 15 minutes after releasing on GitHub (stable) or AppVeyor (develop).
- Yes, I used a funny domain.
-
Add the apt repository to the apt sources list:
- If you would like stable releases, execute:
echo "deb [arch=amd64,armhf,arm64] http://repo.ombi.turd.me/stable/ jessie main" | sudo tee "/etc/apt/sources.list.d/ombi.list"
- If you would like development releases, execute this instead:
echo "deb [arch=amd64,armhf,arm64] http://repo.ombi.turd.me/develop/ jessie main" | sudo tee "/etc/apt/sources.list.d/ombi.list"
-
This repo is signed. This means packages get validated before installation. So, to safely download and install Ombi packages, the Ombi key needs to be installed:
wget -qO - https://repo.ombi.turd.me/pubkey.txt | sudo apt-key add -
-
Update the package list and install Ombi:
sudo apt update && sudo apt install ombi
-
If no errors are shown, Ombi has been installed successfully and will automatically start during boot.
Ombi should now be reachable on http://your-ip-address:5000
-
Packages in this repo use systemd, you can use the
systemctl
or theservice
command to start, stop, or restart Ombi. -
If an update is available for Ombi:
- It will get installed along with all other updates if you:
sudo apt update && sudo apt upgrade
- Or if you only want to update Ombi:
sudo apt update && sudo apt install ombi
-
If you want to switch branches, you can edit
/etc/apt/sources.list.d/ombi.list
. Replacestable
withdevelop
, or the other way around.
Fedora 29
Deps: compat-openssl10 libcurl-devel libunwind-devel openssl-devel
Ubuntu
mkdir /opt/Ombi
- cd into that directory
cd /opt/Ombi
- Download the latest
linux.tar.gz
@ https://github.com/tidusjar/Ombi/releases/latest for stable and use https://ci.appveyor.com/project/tidusjar/requestplex/branch/develop/artifacts for develop. - With the newly downloaded linux.tar.gz file in /opt/Ombi run
tar xzf linux.tar.gz
- In the /opt/Ombi directory make the Ombi file an executable:
chmod +x Ombi
- Install
libicu-dev
if it isn't already installed:sudo apt install libicu-dev
- Install
libunwind8
if it isn't already installed:sudo apt install libunwind8
- Install
libcurl4-openssl-dev
if it isn't already installed:sudo apt install libcurl4-openssl-dev
- In the
/opt/Ombi
directory run Ombi./Ombi
- Verify correct Locale settings as this can prevent Ombi from talking to Plex in some LXC container installs:
env | grep LANG
should returnLANG=en_US.UTF-8
.env | grep LC_ALL
should returnLC_ALL=en_US.UTF-8
.
You can also try the locale
command. In some systems, setting LC_ALL is all that is necessary.
If you need to update your locale, you can do so as follows:
$ sudo locale-gen "en_US.UTF-8"
Generating locales...
en_US.UTF-8... done
Generation complete.
$ sudo dpkg-reconfigure locales
Generating locales...
en_US.UTF-8... up-to-date
Generation complete.
If you decide to run Ombi as a different user, other than root, in accordance with the below warning; you need to chown the Ombi folder to the user you change the systemd service to.
sudo chown -R ombi:nogroup /opt/Ombi
Run as systemd service (Ubuntu 15.04+)
Warning: you should create your own user to run Ombi. Using root is not ideal. Recommended settings are:
- User: ombi
- Group: nogroup (built-in non-privileged group)
sudo nano /etc/systemd/system/ombi.service
- Paste the following:
[Unit] Description=Ombi - PMS Requests System After=network-online.target [Service] User=root Group=root WorkingDirectory=/opt/Ombi/ ExecStart=/opt/Ombi/Ombi Type=simple TimeoutStopSec=30 Restart=on-failure RestartSec=5 [Install] WantedBy=multi-user.target
- Press Ctrl+x then y to save (assuming you're using nano).
sudo systemctl daemon-reload
sudo systemctl start ombi
- To enable Ombi to run on startup:
sudo systemctl enable ombi.service
- To ensure the service is running:
systemctl status ombi
Run as upstart service (Ubuntu Pre-15.04)
Warning: you should create your own user to run Ombi. Using root is not ideal. Recommended settings are:
- User: ombi
sudo nano /etc/init.d/ombi
- Paste the following:
#!/bin/sh ### BEGIN INIT INFO # Provides: ombi # Required-Start: $local_fs $remote_fs $network # Required-Stop: $local_fs $remote_fs $network # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: Ombi # Description: A personal media assitant. A simple way for shared media users to request and download content ### END INIT INFO . /lib/lsb/init-functions ################################################################################ # Update these variables to reflect your system ################################################################################ DAEMON_PWD="/opt/Ombi" DAEMON_USER="root" DAEMON_NAME="ombi" DAEMON_LOG="/var/log/${DAEMON_NAME}.log" DAEMON_PATH="${DAEMON_PWD}/Ombi" DAEMON_OPTS="--host http://*:5000 --storage ${DAEMON_PWD}" DAEMON_DESC=$(get_lsb_header_val $0 "Short-Description") DAEMON_PID="/var/run/${DAEMON_NAME}.pid" DAEMON_NICE=0 [ -r "/etc/default/${DAEMON_NAME}" ] && . "/etc/default/${DAEMON_NAME}" do_start() { local result pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null if [ $? -eq 0 ]; then log_warning_msg "${DAEMON_NAME} is already started" result=0 else log_daemon_msg "Starting ${DAEMON_NAME}" touch "${DAEMON_LOG}" chown $DAEMON_USER "${DAEMON_LOG}" chmod u+rw "${DAEMON_LOG}" if [ -z "${DAEMON_USER}" ]; then start-stop-daemon --start --quiet --oknodo --background \ --nicelevel $DAEMON_NICE \ --chdir "${DAEMON_PWD}" \ --pidfile "${DAEMON_PID}" --make-pidfile \ --startas /bin/bash -- -c "exec ${DAEMON_PATH} ${DAEMON_OPTS} >> ${DAEMON_LOG} 2>&1" result=$? else start-stop-daemon --start --quiet --oknodo --background \ --nicelevel $DAEMON_NICE \ --chdir "${DAEMON_PWD}" \ --pidfile "${DAEMON_PID}" --make-pidfile \ --chuid "${DAEMON_USER}" \ --startas /bin/bash -- -c "exec ${DAEMON_PATH} ${DAEMON_OPTS} >> ${DAEMON_LOG} 2>&1" result=$? fi log_end_msg $result fi return $result } do_stop() { local result pidofproc -p "${DAEMON_PID}" "${DAEMON_PATH}" > /dev/null if [ $? -ne 0 ]; then log_warning_msg "${DAEMON_NAME} is not started" result=0 else log_daemon_msg "Stopping ${DAEMON_NAME}" killproc -p "${DAEMON_PID}" "${DAEMON_PATH}" result=$? log_end_msg $result rm "${DAEMON_PID}" fi return $result } do_restart() { local result do_stop result=$? if [ $result = 0 ]; then do_start result=$? fi return $result } do_status() { local result status_of_proc -p "${DAEMON_PID}" "${DAEMON_PATH}" "${DAEMON_NAME}" result=$? return $result } do_usage() { echo $"Usage: $0 {start | stop | restart | status}" exit 1 } case "$1" in start) do_start; exit $? ;; stop) do_stop; exit $? ;; restart) do_restart; exit $? ;; status) do_status; exit $? ;; *) do_usage; exit 1 ;; esac
- Press Ctrl+X then y to save (assuming you're using nano).
sudo chmod +x /etc/init.d/ombi
(this makes the above script executable)sudo update-rc.d ombi defaults
(this tells the system when to start the service based on run-level)sudo service ombi start
(this starts the service)- to ensure service is running:
sudo service ombi status
macOS
- Download the latest osx release
osx-x64.tar.gz
- Extract the contents to the desired location (we suggest something like /opt/Ombi/)
- Launch Terminal
cd
to the path of the folder (e.g.cd /opt/Ombi
)- Execute
./Ombi
. Process should load. - Ombi should now be reachable at localhost:5000
Startup
To have Ombi run at startup, add RunAtLoad WorkingDirectory /opt/Ombi
to the command.
i.e. /opt/Ombi/Ombi RunAtLoad WorkingDirectory /opt/Ombi
Note: macOS Catalina has strengthened Gatekeeper.
As a result, allowing apps from 'unverified' sources is now a hidden option.
It requires executing sudo spctl --master-disable
in Terminal to allow apps from unverified sources before Ombi can be launched reliably.
Our preferred deployment method for macOS now, as a result, has to be as a Docker container (simply to avoid this as a problem until a more secure and stable solution is discovered).
Docker
The Ombi team do not currently maintain any Docker containers directly.
However, there are a number of them available, maintained by various members of the community.
linuxserver.io update their image the most up-to-date, and they have pretty comprehensive instructions for installation. See the page for their image here.
We currently recommended using the tag v4-preview
until they shift v4 to the latest
tag.
If you are considering running Ombi in a container, and are unfamiliar with how Docker works, please see Things to consider with Docker to (hopefully) help clear up some things with how networking and access works with a Docker system.
Helm
The Ombi team does not currently maintain a helm chart directly.
A popular helm chart is maintained by the guys over at k8s@home.
Installation, upgrade, and removal docs are all on the artifacthub.io page
The wiki is dead! Long live the wiki!