How to Setup an Arr Stack

How to Setup an Arr Stack
Photo by Austin Neill / Unsplash

The Arr stack refers to a group of apps like Sonarr, Radarr and Lidarr that automate downloading and managing TV shows, movies and music. They work together to find and organise your media without you having to lift a finger, making binge-watching a breeze!

This guide includes the following services...

  • Sonarr (TV Shows)
  • Radarr (Movies)
  • Lidarr (Music)
  • Deluge (Downloads)
  • Prowlarr (Index Manager)
  • Watchtower (Keeps these containers up to date)
⚠️
Before you begin I recommend getting your VM or server connected to a VPN. Feel free to leave a comment or get in touch if you need any help.

System Requirements

I run this on a Debian VM with 4 cores, 4GB of RAM and a 32GB disk. My NAS is mounted at the path /srv

Docker Install

sudo apt update
sudo apt install docker.io docker-compose

Docker Compose

To get started, create a file called docker-compose.yaml...

nano docker-compose.yaml

In this file, paste the following...

version: "3.8"
services:
  sonarr:
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
    image: linuxserver/sonarr:latest
    ports:
      - 8989:8989/tcp
    restart: unless-stopped
    volumes:
      - /srv/Downloads:/downloads
      - /srv/TV Shows:/tvshows
      - /docker/sonarr:/config
  radarr:
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
    image: linuxserver/radarr:latest
    ports:
      - 7878:7878/tcp
    restart: unless-stopped
    volumes:
      - /docker/radarr:/config
      - /srv/Downloads:/downloads
      - /srv/Movies:/movies
  lidarr:
    image: linuxserver/lidarr:latest
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
    volumes:
      - /docker/lidarr/config:/config
      - /srv/Music:/music
      - /srv/Downloads:/downloads
    ports:
      - 8686:8686
    restart: unless-stopped
  deluge:
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
    image: linuxserver/deluge:latest
    ports:
      - 6881:6881/tcp
      - 6881:6881/udp
      - 8112:8112/tcp
    restart: unless-stopped
    volumes:
      - /srv/Downloads:/downloads
      - /docker/deluge:/config
  prowlarr:
    environment:
      - PUID=0
      - PGID=0
      - TZ=Europe/London
    image: lscr.io/linuxserver/prowlarr:nightly
    ports:
      - 9696:9696/tcp
    restart: unless-stopped
    volumes:
      - /srv/:/media
      - /docker/prowlarr:/config
  watchtower:
    image: containrrr/watchtower:latest
    restart: unless-stopped
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock

Feel free to remove any containers that you don't require.

Once complete, run this command to bring up the stack...

docker-compose up -d

Once the images have been downloaded and the containers are up, you can start checking out the containers. Each container will be accessible using http://serverip:port - change port for each service following the list below...

  • Sonarr - 8989
  • Radarr - 7878
  • Lidarr - 8686
  • Deluge - 8112
  • Prowlarr - 9696

The first step I would recommend is adding a login page onto each of these systems. They all have this built in so you'll just need to enable it and create a username and password from the web interface.

That's it, if you'd like me to go into any further detail or get stuck with anything feel free to leave a comment.