How to Manually Install Radarr on Ubuntu 24.04
This guide explains how to manually install and configure Radarr on Ubuntu 24.04.
The instructions in this article are based on the supplied Radarr Ansible Playbook. The Ansible playbook automatically installs the latest Linux x64 version of Radarr, creates a dedicated system user, creates the required directories, configures a systemd service, and starts Radarr on port 7878.
Follow the steps from top to bottom. Copy and paste each command into your Ubuntu 24.04 terminal and wait for it to finish before continuing.
This guide follows the configuration contained in the supplied Ansible playbook. It installs the latest Radarr Linux x64 release available from the Radarr GitHub releases API.
1. What Is Radarr?
Radarr is an application used to manage and organize movies. It can monitor movie releases and work with download clients and media-management systems.
In this installation, Radarr runs as a background Linux service using systemd.
The web interface is available on:
http://YOUR_SERVER_IP:7878
For example:
http://192.168.1.100:7878
Your server IP address will be different.
2. Configuration Used by the Ansible Playbook
| Setting | Value |
|---|---|
| Operating System | Ubuntu 24.04 |
| Radarr User | radarr |
| Radarr Group | radarr |
| Installation Directory | /opt/Radarr |
| Configuration Directory | /var/lib/radarr |
| Radarr Port | 7878 |
| Systemd Service | radarr.service |
| Temporary Download File | /tmp/radarr.tar.gz |
3. Check Your Ubuntu Version
First, verify that your server is running Ubuntu 24.04.
Run:
lsb_release -a
You can also run:
cat /etc/os-release
The operating system should report Ubuntu 24.04.
4. Update the Ubuntu Package List
The first installation task in the Ansible playbook updates the APT package cache.
Run:
sudo apt update
Wait until the command finishes.
5. Install the Required Packages
The Ansible playbook installs the following packages:
curlwgetmediainfosqlite3ca-certificatestar
Install them manually with:
sudo apt install -y curl wget mediainfo sqlite3 ca-certificates tar
They provide utilities required by the installation and by Radarr's operation, including downloading files, handling certificates, extracting archives, working with media information and working with SQLite databases.
6. Create the Radarr Group
The playbook creates a dedicated Linux group called radarr.
Create the group manually:
sudo groupadd radarr
If the group already exists, you may receive a message saying that the group already exists. If so, you can continue to the next step.
7. Create the Radarr System User
The playbook creates a system user called radarr.
The user:
- Belongs to the
radarrgroup. - Is a system account.
- Does not have a home directory.
- Uses
/usr/sbin/nologinas its shell.
Create the user:
sudo useradd \
--system \
--gid radarr \
--no-create-home \
--shell /usr/sbin/nologin \
radarr
Radarr does not need to run as the root user. Using a dedicated service account is a safer way to run the application.
8. Create the Radarr Configuration Directory
The playbook stores Radarr's application data in:
/var/lib/radarr
Create the directory:
sudo mkdir -p /var/lib/radarr
Change ownership to the Radarr user and group:
sudo chown radarr:radarr /var/lib/radarr
Set the directory permissions:
sudo chmod 0755 /var/lib/radarr
9. Get the Latest Radarr Release
Unlike a fixed version installation, the supplied Ansible playbook does not specify a particular Radarr version.
Instead, it contacts the official Radarr GitHub API and asks for the latest release.
You can view the latest Radarr release information with:
curl -H "Accept: application/vnd.github+json" \
https://api.github.com/repos/Radarr/Radarr/releases/latest
The output contains information about the latest release and its downloadable files.
The playbook specifically looks for a Linux x64 archive whose filename ends with
linux-core-x64.tar.gz.10. Find the Linux x64 Download
The playbook searches the latest release for an asset matching:
linux-core-x64.tar.gz
To see the available release assets, run:
curl -s https://api.github.com/repos/Radarr/Radarr/releases/latest \
| grep "browser_download_url"
Look through the output for the Linux x64 archive ending in:
linux-core-x64.tar.gz
Copy the complete download URL.
11. Download Radarr
The Ansible playbook downloads the selected archive to:
/tmp/radarr.tar.gz
Replace RADARR_DOWNLOAD_URL below with the URL you found in the previous step.
sudo wget -O /tmp/radarr.tar.gz "RADARR_DOWNLOAD_URL"
Example format:
sudo wget -O /tmp/radarr.tar.gz "https://github.com/Radarr/Radarr/releases/download/RELEASE/linux-core-x64.tar.gz"
The exact URL will depend on the current latest Radarr release.
12. Check the Downloaded Archive
Check that the archive exists:
ls -lh /tmp/radarr.tar.gz
You should see the downloaded archive.
You can also check the file type:
file /tmp/radarr.tar.gz
13. Remove an Existing Radarr Installation
The supplied playbook removes the existing installation directory before installing the new release.
The directory is:
/opt/Radarr
Remove it with:
sudo rm -rf /opt/Radarr
The command above removes the existing
/opt/Radarr installation directory. Make sure this is what you intend to do before running the command.14. Create the Radarr Installation Directory
Create the installation directory:
sudo mkdir -p /opt/Radarr
Change ownership:
sudo chown radarr:radarr /opt/Radarr
Set permissions:
sudo chmod 0755 /opt/Radarr
15. Extract Radarr
The playbook extracts the downloaded archive into /opt.
Run:
sudo tar -xzf /tmp/radarr.tar.gz -C /opt
After extraction, check the directory:
ls -la /opt/Radarr
You should see the Radarr application files.
16. Set Radarr Ownership
The playbook changes ownership of the entire Radarr installation to the radarr user and group.
Run:
sudo chown -R radarr:radarr /opt/Radarr
Verify:
ls -ld /opt/Radarr
17. Check the Radarr Executable
The systemd service in the Ansible playbook starts:
/opt/Radarr/Radarr
Check that the executable exists:
ls -l /opt/Radarr/Radarr
18. Create the Radarr systemd Service
The Ansible playbook creates a systemd service named:
radarr.service
Create the service file:
sudo nano /etc/systemd/system/radarr.service
Paste the following:
[Unit]
Description=Radarr Daemon
Wants=network-online.target
After=network-online.target
[Service]
User=radarr
Group=radarr
Type=simple
ExecStart=/opt/Radarr/Radarr -nobrowser -data=/var/lib/radarr
TimeoutStopSec=20
KillMode=process
Restart=on-failure
RestartSec=5
[Install]
WantedBy=multi-user.target
Save the file:
- Press Ctrl + O
- Press Enter
- Press Ctrl + X
It tells Ubuntu how to start Radarr, which Linux user should run it, where its data is stored, and what should happen if Radarr stops unexpectedly.
19. Reload systemd
Ubuntu needs to reload systemd so that it detects the new Radarr service.
Run:
sudo systemctl daemon-reload
20. Enable Radarr at Startup
The playbook enables Radarr so that it automatically starts when Ubuntu boots.
Run:
sudo systemctl enable radarr
21. Start Radarr
Start the Radarr service:
sudo systemctl start radarr
22. Check the Radarr Service
Check whether Radarr is running:
sudo systemctl status radarr
Look for:
Active: active (running)
Press q to exit the status screen.
23. Check Whether Radarr Is Active
Run:
systemctl is-active radarr
The expected result is:
active
24. Check Whether Radarr Is Enabled
Verify that Radarr will start automatically after a reboot:
systemctl is-enabled radarr
The expected result is:
enabled
25. Check Port 7878
The supplied Ansible playbook waits for Radarr to become available on port 7878.
You can manually check the port with:
sudo ss -ltnp | grep 7878
If Radarr is running correctly, you should see a listening socket containing port 7878.
26. Check All Listening Ports
You can also display all TCP listening ports:
sudo ss -ltnp
Look for port 7878.
27. Find the Ubuntu Server IP Address
To open Radarr from another computer, you need the IP address of the Ubuntu server.
Run:
hostname -I
Example:
192.168.1.100
Your server will have a different IP address.
28. Open Radarr in a Web Browser
Once the service is running, open a browser on a computer that can reach the Ubuntu server.
Enter:
http://YOUR_SERVER_IP:7878
For example:
http://192.168.1.100:7878
If Radarr is running and the network/firewall allows access, the Radarr web interface should open in your browser.
29. Allow Port 7878 Through UFW
If Ubuntu's UFW firewall is enabled, you may need to allow TCP port 7878.
First check the firewall:
sudo ufw status
If UFW is active and you need Radarr to be accessible from another machine, allow port 7878:
sudo ufw allow 7878/tcp
Check the firewall again:
sudo ufw status
If Radarr should only be accessible from your local network, consider restricting the firewall rule to the required network rather than exposing port 7878 to everyone.
30. Check Radarr Logs
If Radarr does not start, systemd logs are useful for finding the problem.
Display the latest Radarr log entries:
sudo journalctl -u radarr --no-pager -n 50
To watch the logs live:
sudo journalctl -u radarr -f
Press Ctrl + C to stop watching the logs.
31. Check the Radarr Installation Files
Check the installation directory:
ls -la /opt/Radarr
Check the configuration directory:
ls -la /var/lib/radarr
32. Check Radarr Ownership
The Ansible playbook makes the radarr user and group the owners of the installation.
Check the installation directory:
ls -ld /opt/Radarr
Check the configuration directory:
ls -ld /var/lib/radarr
The owner and group should show:
radarr radarr
33. Remove the Temporary Download
The Ansible playbook removes the downloaded archive after installation.
Remove it manually:
sudo rm -f /tmp/radarr.tar.gz
Verify that it has been removed:
ls -l /tmp/radarr.tar.gz
If the file does not exist, the cleanup was successful.
34. Troubleshooting
Problem: Radarr service is not running
Check the service:
sudo systemctl status radarr
Then check the logs:
sudo journalctl -u radarr --no-pager -n 100
Problem: Port 7878 is not listening
Check the port:
sudo ss -ltnp | grep 7878
If nothing is returned, check the Radarr service:
sudo systemctl status radarr
Then check the logs:
sudo journalctl -u radarr --no-pager -n 100
Problem: Radarr executable is missing
Check whether the Radarr executable exists:
ls -l /opt/Radarr/Radarr
If it is missing, check the contents of the directory:
ls -la /opt/Radarr
If the archive was extracted incorrectly, repeat the download and extraction steps.
Problem: Permission denied
Make sure the installation belongs to the Radarr user:
sudo chown -R radarr:radarr /opt/Radarr
sudo chown -R radarr:radarr /var/lib/radarr
Problem: Radarr works on the server but not from another computer
First check that Radarr is listening:
sudo ss -ltnp | grep 7878
Check the server IP:
hostname -I
Check UFW:
sudo ufw status
If required, allow port 7878:
sudo ufw allow 7878/tcp
35. Restart Radarr
If you make changes to the installation or service configuration, restart Radarr:
sudo systemctl restart radarr
Then check the status:
sudo systemctl status radarr
36. Complete Manual Installation Command Summary
Once you understand the individual steps above, the main installation commands are shown below for quick reference.
sudo apt update
sudo apt install -y curl wget mediainfo sqlite3 ca-certificates tar
sudo groupadd radarr
sudo useradd \
--system \
--gid radarr \
--no-create-home \
--shell /usr/sbin/nologin \
radarr
sudo mkdir -p /var/lib/radarr
sudo chown radarr:radarr /var/lib/radarr
sudo chmod 0755 /var/lib/radarr
curl -s https://api.github.com/repos/Radarr/Radarr/releases/latest \
| grep "browser_download_url"
sudo wget -O /tmp/radarr.tar.gz "RADARR_DOWNLOAD_URL"
sudo rm -rf /opt/Radarr
sudo mkdir -p /opt/Radarr
sudo chown radarr:radarr /opt/Radarr
sudo chmod 0755 /opt/Radarr
sudo tar -xzf /tmp/radarr.tar.gz -C /opt
sudo chown -R radarr:radarr /opt/Radarr
After these commands, create the systemd service shown in Step 18, then run the following:
sudo systemctl daemon-reload
sudo systemctl enable radarr
sudo systemctl start radarr
sudo systemctl status radarr
sudo ss -ltnp | grep 7878
37. Final Verification Checklist
Radarr should be considered successfully installed when the following checks are successful:
| Check | Command | Expected Result |
|---|---|---|
| Radarr user | id radarr |
User information is displayed |
| Installation directory | ls /opt/Radarr |
Radarr files are displayed |
| Configuration directory | ls /var/lib/radarr |
Directory exists |
| Service status | systemctl is-active radarr |
active |
| Startup enabled | systemctl is-enabled radarr |
enabled |
| Port | sudo ss -ltnp | grep 7878 |
Port 7878 is listening |
38. Radarr Access Information
| Item | Value |
|---|---|
| Application | Radarr |
| Web Interface Port | 7878 |
| Web Interface | http://YOUR_SERVER_IP:7878 |
| Linux User | radarr |
| Linux Group | radarr |
| Installation Directory | /opt/Radarr |
| Configuration Directory | /var/lib/radarr |
| Systemd Service | radarr.service |
Installation Complete
The Radarr installation is complete when:
- The required Ubuntu packages are installed.
- The
radarruser exists. - The
radarrgroup exists. /opt/Radarrcontains the Radarr application./var/lib/radarrexists.- The
radarr.servicesystemd service exists. - The Radarr service is active (running).
- The Radarr service is enabled.
- Port 7878 is listening.
- The Radarr web interface can be opened using the server IP and port 7878.
Open the Radarr interface using:
http://YOUR_SERVER_IP:7878
39. Useful Radarr Commands
Start Radarr:
sudo systemctl start radarr
Stop Radarr:
sudo systemctl stop radarr
Restart Radarr:
sudo systemctl restart radarr
Check Radarr status:
sudo systemctl status radarr
View Radarr logs:
sudo journalctl -u radarr --no-pager -n 50
Follow Radarr logs live:
sudo journalctl -u radarr -f
Check port 7878:
sudo ss -ltnp | grep 7878
Source:
This knowledgebase article was created from the supplied Radarr Ansible Playbook. The article follows the playbook's configured user, group, installation directory, configuration directory, package requirements, latest-release download process, systemd service configuration, port 7878 verification and service startup procedure.

