http://your-server-ip:7878 once the container is running.If you love watching movies, you know the drill. Keeping a library organized and current feels like a second job. Release dates slip, quality options multiply, and sources scatter across the internet. Pretty soon your “movie collection” is a folder full of mystery files.
That’s where Radarr comes in. Instead of rummaging through torrent or Usenet sites for a new release, or trying to remember when something drops digitally, Radarr handles it. It watches your wanted list, grabs releases through your torrent or Usenet client, then renames, organizes, and files the result into your media library. Ready to watch on Jellyfin, Plex, or Kodi.
Set it and forget it. That’s the whole pitch.
Why Radarr Is a Must-Have
Here’s why Radarr is my go-to for movie automation:
- Automated downloads. Add a movie. Radarr searches for it, grabs it, and upgrades to a better release when one shows up.
- Missing movie search. Radarr keeps scanning for anything missing or unavailable when you first added it.
- Download client integration. Works with qBittorrent, Deluge, SABnzbd, and NZBGet.
- Library management. Clean folder structures, proper naming, full metadata.
Radarr turns your movie library into a system that runs itself.
Why Run Radarr in Docker?
Docker is one of the best ways to run it. Here’s why:
- Clean isolation. Radarr and its dependencies stay separate from your host system.
- Effortless updates. Pull the latest image. Done.
- Portability. Move your setup to another machine without rebuilding from scratch.
- No dependency hell. No conflicting libraries fighting with your other software.
Running Radarr in Docker keeps things tidy, predictable, and easy to troubleshoot when something breaks. And something always breaks eventually.
If you’re ready to take control of your movie collection, this is the way.
Step 1: Install Docker
You’ll need Docker installed on your server first. Walk through this guide if you haven’t already: Master the Basics - How to Install Docker
Step 2: Create or Modify Your Docker Compose File
Let’s define your Radarr container in docker-compose.yml. The file below runs Radarr on its own. Already have other Arr apps in a Compose file (say, from my Sonarr guide)? Just drop the radarr: service into your existing services: block and reuse the same media_network instead of pasting the whole thing.
Open the Compose File
Open your existing docker-compose.yml or create a new one:
nano /docker/docker-compose.yml
Paste this in:
services:
#################################
# RADARR
#################################
radarr:
# Official LinuxServer.io Radarr image
image: lscr.io/linuxserver/radarr:latest
# Friendly name for the container
container_name: radarr
# Pulls PUID, PGID, UMASK, TZ, ports, and paths from the .env file
env_file: .env
ports:
# Maps the host port to Radarr's web UI (7878) inside the container
- ${RADARR_PORT}:7878
volumes:
# Radarr's config and database (persists across restarts)
- ${CONFIG_PATH}/radarr:/config
# Your movie library
- ${MEDIA_PATH}/Movies:/movies
# Shared download folder (must be the same path in every Arr container)
- ${DOWNLOADS_PATH}:/downloads
healthcheck:
# Lets `docker ps` show "healthy" once the UI starts answering
test: wget --no-verbose --tries=1 --spider http://localhost:7878/ping || exit 1
start_period: 30s
timeout: 3s
interval: 30s
retries: 3
networks:
# Joins the shared media network
- media_network
# Restart automatically unless you stop it yourself
restart: unless-stopped
#################################
# NETWORK
#################################
networks:
media_network:
# Shared network, created once with: docker network create media_network
name: media_network
external: true
💡 Tip: Watch your spacing. YAML is picky. Two spaces per indent, no tabs. Mix them and the container won’t start.
Step 3: Customize the .env File
Open the .env File
nano /docker/.env
The contents should look like this:
# User and Group ID (Prevents permission issues)
# Main user ID
PUID=1000
# Main group ID:
PGID=1001
# File permission mask
UMASK=0007
# Timezone (Ensures correct scheduling and logs)
TZ=America/Denver
# Define Ports (Ports for each container are defined here)
RADARR_PORT=7878
SONARR_PORT=8989
SABNZBD_PORT=8080
PROWLARR_PORT=9696
BAZARR_PORT=6767
# Data Directories (Keeps storage paths centralized)
CONFIG_PATH=/docker
DOWNLOADS_PATH=/downloads
MEDIA_PATH=/media/Storage
Update the Radarr paths to match your setup. Here’s what each one does:
CONFIG_PATH=/dockeris the root folder where Docker stores persistent container files.MEDIA_PATH=/media/Storageis the root folder for your media files.DOWNLOADS_PATH=/downloadsis where your download client drops temp and incomplete files.
Make sure your download client container shares access to the /downloads path. If it doesn’t, Radarr can’t move finished downloads into your library and you’ll spend an afternoon wondering why.
Also update TZ to your timezone. Reference: this list of valid timezones.
Step 4: Start Radarr
The Compose file attaches to an external network called media_network, so create it once before you bring the stack up:
docker network create media_network
Bring your new Radarr container online:
docker compose up -d
Check that it’s running:
docker ps
You should see radarr in the list of containers:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ff12a474a4fe lscr.io/linuxserver/radarr:latest "/init" 54 seconds ago Up 53 seconds (healthy) 0.0.0.0:7878->7878/tcp, [::]:7878->7878/tcp radarr
Step 5: Fix Permissions (If Needed)
Permission problems are the classic gotcha with media containers. Here’s how to make everything play nice:
sudo chown -R `yourusername`:media /docker/ && sudo chmod -R 770 /docker/
sudo chown -R `yourusername`:media /media/ && sudo chmod -R 770 /media/
Want the longer explanation of what’s going on here? Read this: Master the Basics - Linux Permissions
Step 6: Access Radarr
Open your browser and hit:
http://your-server-ip:7878
From there you can add movies, set quality profiles, and connect your download clients.
For deeper configuration, the official Radarr Wiki is the definitive source.
Step 7: Keep Your Docker Software Updated
To update:
docker compose pull # Fetches the latest image
docker compose down # Stops and removes the running container
docker compose up -d # Starts a fresh container with the new image
Radarr comes back up on the latest version. No reconfig needed.
Conclusion
Radarr does the boring work. It tracks, downloads, upgrades, and organizes your movies without you babysitting it. No more hunting for files, renaming releases, or shuffling folders around by hand.
Running it in Docker keeps your host system clean and your container easy to manage. Pair Radarr with Sonarr for TV shows and Lidarr for music, and you’re running a self-updating media library that mostly takes care of itself.
Want to run the whole suite from a single Compose file instead of one app at a time? See the complete arr stack Docker Compose guide.

Running the whole Arr suite? Stand up Prowlarr, Radarr, Sonarr, and Bazarr from one Docker Compose file, with a fast download drive and clean imports into your media pool.
