Skip to content

automation-avenue/arr-new

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 

Repository files navigation

ARR stack NEW VERSION

Below are instructions for Debian / Ubuntu operating system, but docker can be natively run on any linux distro
and if you have Windows or Mac - you can use for tools like Docker Desktop to run docker containers.

Install docker compose and prepare environment

We will install docker and docker compose using this: LINK

So - go to Install (on the left) to Plugin - scroll down to Install using the RepositoryUbuntu (unless you install on other OS):
You should be in THIS LOCATION

Copy ALL those commands that are listed there, sth like:

# Add Docker's official GPG key:
sudo apt update
sudo apt install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/ubuntu
Suites: $(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}")
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

sudo apt update

Then run:

sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo systemctl status docker
sudo docker run hello-world

To test if docker compose has been installed, run :
docker compose

You should get a lot of command arguments including 'version' one, so run again:
docker compose version

That will show all works as expected.
Create folder structure as per this TRASH GUIDE now:

sudo mkdir -p /data/{torrents/{tv,movies,music},media/{tv,movies,music}}
sudo apt install tree
tree /data
sudo chown -R 1000:1000 /data
sudo chmod -R a=,a+rX,u+w,g+w /data
ls -ln /data

(If you use torrents + Usenet client like NZBGet or SABnzbd then you need to use mkdir -p /data/{usenet/{incomplete,complete}/{tv,movies,music},media/{tv,movies,music}} instead in that 1st first line)

Trash guide docker-compose configuration can be found HERE (scroll down a bit)
You can find more information on SERVARR
My docker-compose.yml file can be found HERE
You can use command like git clone https://github.com/automation-avenue/arr-new.git or simply copy that docker-compose file from that repo:
sudo nano docker-compose.yml - and paste it

Note that hostnames are not needed here as we have dedicated network for our containers


First run:

You should be able to run all services now with simple sudo docker compose up -d :)


Configure services:

Now you need to ensure your internal application settings match, for example:

  • Radarr: Inside the web UI, your "Root Folder" for your library should be /data/media/movies (/data/media/tv for Sonarr and /data/media/music for Lidarr).
  • qBittorrent: Your download path should be set to /data/torrents
  • because both paths are on the same mount (/data), the OS treats them as the same file system, enabling instant hard links (also known as atomic moves)

Let's configure that all:

qBittorrent:

Check logs for qbittorrent container:
sudo docker logs qbittorrent
You will see in the logs something like:
The WebUI administrator username is: admin
The WebUI administrator password was not set. A temporary password is provided for this session:


Now you can go to URL:
If you are on the host: http://localhost:8080
From other device on your network: http://<host ip address>:8080
and log on using details provided in container logs.
Go to Tools - Options - WebUI - you can change the user and password here but remember to scroll down and save it.

In left panel go to Categories - All - right click and 'add category':

For Radarr: Category: movies
Save Path: movies (this will be appended to '/data/torrents/ Default Save Path you set above)
For Sonarr: Category: tv
Save Path: tv
For Lidarr: Category: music
Save Path: music

Create categories first and only then configure the steps below, as doing it opposite way round caused the Categories to disappear :)

With categories created - go to - Tools - Options - Downloads and in Saving Management make sure your settings match THIS
So Default Torrent Management Mode - Automatic
When Torrent Category changed - Relocate torrent
When Default Save Path Changed - Switch affected torrents to Manual Mode
When Category Save Path Changed - Switch affected torrents to Manual Mode
Tick BOTH BOXES for Use Subcategories and Use Category paths in Manual Mode (NOT shown on Trash Guides)
Default Save Path: - set to /data/torrents (so it matches your folder structure) - then scroll down and Save.
On Trash Guides it shows Copy .torrent files to but its optional, you can leave it blank

If you still have problems with adding categories, you can use different image like the one below:

  qbittorrent:
    <<: *common-keys
    container_name: qbittorrent
    image: ghcr.io/qbittorrent/docker-qbittorrent-nox:latest
    ports:
      - 8080:8080
      - 6881:6881
      - 6881:6881/udp
    environment:
      - QBT_LEGAL_NOTICE=confirm
      - WEBUI_PORT=8080
      - TORRENTING_PORT=6881
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/qbittorrent:/config
      - /data:/data

Thats it for qBittorrent.

Now configure Prowlarr service (each of these services will require to set up user/pass):
Use 'Form (login page) authentication and set your user and pass for all.

Prowlarr:

http://<host_ip>:9696
Go to Settings - Download Clients - + symbol - Add download client - choose qBittorrent (unless you decided touse different download client)
UNTICK the Use SSL (unless you have SSL configured in qBittorrent - Tools - Options -WebUI but by default it is not used)
Host - use qbittorrent and port - put the port id matching the WebUI in docker-compose for qBittorrent (default is 8080)
username and password - use the one that you configured for qBittorrent in previous step
Click little Test button at the bottom, make sure you get a green tick then Save.

Radarr:

http://<host_ip>:7878
Go to Settings - Media Management - Add Root Folder (scroll down to the bottom) - set /data/media/movies as your root folder
Still in Settings - Media Management - click Show Advanced - Importing - Use Hardlinks instead of Copy - make sure its 'ticked'

Optional - you can also tick Rename Movies and Delete empty movie folders during disk scan , and in Import Extra Files - make sure that box is ticked
and in Import Extra files field type srt,sub,nfo (those 3 changes are all optional)

Then Settings- Download clients - click plus symbol, choose qBittorrent etc - basically same steps as for Prowlarr
so Host qbittorrent, port 8080, ,make sure SSL is unticked, username admin and password - one you configured for qBittorrent
and change the Category to movies (needs to match qbittorrent Category)

Now click the Test and if you have green 'tick' - Save.
Now go to Settings - General - scroll down to API key - Copy API key - go back to Prowlarr - Settings - Apps -click + - Radarr - paste API key.
Then change Prowlarr Server to http://prowlarr:9696 and Radarr Server to http://radarr:7878
Click Test and if Green - Save

BTW - you can see how to configure each service for hardlinks HERE
You need to configure SABnzbd / qbittorrent and any other services you run too, not only Radarr or Sonarr

Sonarr:

http://<host_ip>:8989
Go to Settings - Media Management - Add Root Folder - set /data/media/tv as your root folder
Still in Settings - Media Management - Show Advanced - Importing - Use Hardlinks instead of Copy - make sure its 'ticked'

Optional - you can also tick Rename Episodes and Delete empty Folders - delete empty series and season folders during disk scan
Then in Import Extra Files - make sure that box is ticked and in Import Extra files field type srt,sub,nfo (those 3 changes are all optional)

Then Settings- Download clients - click plus symbol, choose qBittorrent etc - basically same steps as for previous services
Host qbittorrent, port 8080, ,make sure SSL is unticked, username admin and password - one you configured for qBittorrent
and change the Category to 'tv' (by default its 'tv-sonarr', but you need to match qbittorrent Category)

Now click the 'Test' and if you have green 'tick' - Save.
Now go to Settings - General - scroll down to API key - Copy API key - go back to Prowlarr - Settings - Apps -click '+' - Sonarr - paste API key.
Then change Prowlarr Server to http://prowlarr:9696 and Sonarr Server to http://sonarr:8989
Click Test and if Green - Save

Lidarr:

http://<host_ip>:8686
Go to Settings - Media Management - Add Root Folder - set path to /data/media/music as your root folder, set name to Root or whatever and save
Then Settings- Download clients - click 'plus' symbol, choose qBittorrent etc - basically same steps as for previous services
Host 'qbittorrent', port 8080, ,make sure SSL is unticked, username admin and password - one you configured for qBittorrent
and change the Category to 'music' (by default its 'lidarr', but you need to match qbittorrent Category)
Now click the 'Test' and if you have green 'tick' - Save. Now go to Settings - General - scroll down to API key - Copy API key - go back to Prowlarr - Settings - Apps -click '+' - Sonarr - paste API key.
Then change Prowlarr Server to http://prowlarr:9696 and Lidarr Server to http://lidarr:8686
Click Test and if Green - Save

Bazarr:

http://host_ip>:6767
Languages: Go to Settings > Languages and create a "Language Profile" (e.g., "English" or "Any").
Providers: Go to Settings > Providers and add your subtitle sources (OpenSubtitles.org, Subscene, etc.). Most require a free account.
Sync: After connecting Radarr/Sonarr, go to the Series or Movies tab and click "Update" to pull in your existing library.


Restart services:

It might be a good idea to restart all services and see if they come up as expected:

sudo docker compose down
sudo docker compose up -d

If the first line that says :
`WARN[0000] No services to build` - this message is actually expected here.

Remaining config:

That should be it, you just need to add some indexers to Prowlarr.
You can add more indexers - just google for something like 'what are the best legal indexers for Prowlarr' or something similar.

It is a common misconception that the "Arr" stack is only for pirated content.
In reality, these are powerful automation tools for managing media, and there is a wealth of legal, copyright-free, and open-source content you can use them for.
In Radarr, you can download movies that have entered the Public Domain or are released under Creative Commons licenses.
Public Domain Classics: These are "Golden Age" movies where the copyright was not renewed like:
Night of the Living Dead (1968), His Girl Friday (1940), Charade (1963), and The General (1926).
Configure Prowlarr with The "Gold Standard" Indexer for legal media like The Internet Archive (Archive.org).
They host thousands of public domain movies.

Jellyfin

http://<host ip address>:8096
To watch your movies, just log on to Jellyfin, create user and password and you can Add Media Library.
For Content Type - choose Movies and find folder /data/media/movies.
Add more content types like TV or Music accordingly, binding them to correct media folder.


Troubleshooting:

DNS check:

Test if your containers use CloudFlare DNS (configured in docker-compose.yml file):
sudo docker exec -it radarr cat /etc/resolv.conf

Hardlinks check:

Check if the hardlinks work as expected:
Go to /data folder on your host and run tree and du -sch * commands to see the folder structure.
Find the same file in torrents and media that you have just downloaded and run commands:
ls -i /data/media/movies/<your video> and check its inode id (in first column, like 3881112)
Then run again the same command but for the torrent folder:
ls -i /data/torrents/movies/<your video> and see if the inode id is the same as above.
If they are - your hardlinks work as expected.
If they don't - first go to logs to see what is the problem (for Radarr/Sonarr go to System - Log Files)
If you have issue where the file is copied rather than hardlinked, then the most probable cause
is the read/write permission on either source or destination, but that can all be found in those logs so start there.

Files do not move from torrents to media folder:

If the video does not move automatically from torrents to media, then check the Activity - Queue.
You might have a flag saying: 'Downloaded - Unable to Import Automatically'
Click the Manual Import (icon that looks like human head on the far right of the item row)
Confirm the Movie: In the popup, ensure the correct movie is selected in the dropdown. If it is correct, click 'Import'

FlareSolverr:

You might want to add FlareSolverr if you find Prowlarr is failing to index some sites due to "Cloudflare" blocks:

###################################
# FLARESOLVERR - Cloudflare Bypass
###################################

  flaresolverr:
    <<: *common-keys
    container_name: flaresolverr
    image: ghcr.io/flaresolverr/flaresolverr:latest
    ports:
      - 8191:8191
    environment:
      - LOG_LEVEL=info

Once the container is running, you need to tell Prowlarr to use it:

  • Open your Prowlarr Web UI (http://localhost:9696)
  • Go to Settings > Indexers.
  • Click the + (Add) button under Indexer Proxies and select FlareSolverr.
  • Fill in the details:
  • Name: FlareSolverr
  • Host: http://flaresolverr:8191 (Note: Using the service name flaresolverr works because they are on the same Docker network).
  • Tags: Give it a tag like cloudflare (this is important).
  • Save the proxy

Jellyfin hardware acceleration:

For Jellyfin hardware acceleration you might want to add bottom 2 lines:

jellyfin:
    <<: *common-keys
    <...snip...>
    devices:
      - /dev/dri:/dev/dri # << container setting to pass through GPU (this requires more steps outside of docker compose though)

SABnzbd Usenet client

If you use SABnzbd instead of qBittorrent then you need to add that to your yml file:

  sabnzbd:
    container_name: sabnzbd
    image: ghcr.io/hotio/sabnzbd:latest
    ports:
      - 8080:8080
      - 9090:9090
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /docker/appdata/sabnzbd:/config
      - /data:/data

Note that if you want to run both - qBittorrent AND sabnzbd - then you will have conflict for port 8080
as that port is also utilized by qBittorrent.
You will need to change the external port for one of the services to something not used, for example:

    ports:
      - 8081:8080

For sabnzbd you can use folder structure shown HERE
and then assign categories (similar to what we did in qbittorrent) following THIS GUIDE

About

New ARR stack 2026

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors