| img | ||
| README.md | ||
FREEDOM
Requirements
- Not being a boomer
- PC with Windows
- Base IT knowledge (what's a URI, port, domain, container, virtualization, torrent, command line interface basics)
- Patience
- Ability to look for solutions by yourself
Steps and scripts
Step 0 : Setup File Explorer view
- Open the folder view options

- Enable hidden files and file extensions

- Create a folder where our files will reside in your Home folder (
C:\Users\[the folder to be created])

- In the same user folder (
C:\Users\youruser\folderToCreate) create a folder where downloads and all the files will reside

Step 1 : Required softwares
First, we'll download and install the tools we need to setup our environment.
- Git :
https://git-scm.com/downloads/windownload the 64bits version and install it - WSL2 : Follow the documentation to install
https://learn.microsoft.com/en-us/windows/wsl/install. It's basically this command :wsl --install --no-distribution
Disclaimer : in order to be able to install WSL2, virtualization MUST BE enabled in CPU section of your BIOS (VT-x for Intel, AMD-V for AMD) please follow instructions there :
https://helpdeskgeek.com/how-to/how-to-enable-virtualization-in-bios-for-intel-and-amd/
- Docker Desktop :
https://www.docker.com/products/docker-desktop/select your architecture (AMD64, yes even if you have an Intel CPU) and install.
Now you should have everything required installed. Additionally, you may want to install an advanced text editor like Visual Studio Code.
Step 2 : Deploy the *ARR suite
All services we'll deploy will follow the same structure
git/serviceFolder/docker-compose.yaml, here is an example
Here we'll cover the Docker Container part which is the main topic of this tutorial, it should be straightforward but you may still encounter some issues and then, searching Google will help.
- Let's start with a handy tool that will make you life easier : Watchtower. Long story short, it will update your applications and cleanup unused Docker images automatically.
In order to create this service, create a docker compose file in you project folder (in my casegit/watchtower/docker-compose.yaml).
Here's the compose file :
---
services:
watchtower:
container_name: watchtower
image: containrrr/watchtower
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- WATCHTOWER_CLEANUP=true
- WATCHTOWER_REMOVE_VOLUMES=true
restart: unless-stopped
Source : Official doc
After you can go on you terminal and go to the folder then run this command docker compose up -d

Now you service must be running, let's see in Docker desktop if it's the case

Those two last step (CLI & check in Docker desktop will be the same for all other deployments)
- Prowlarr is the indexers manager, this is where you select the torrents' trackers you want to search for content, from there it will distribute to all other apps needing those trackers.
Here is the yaml file :
---
services:
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./prowlarr/data:/config
ports:
- 9696:9696
restart: unless-stopped
Source : Official doc (select your service to see the documentation)
Now you can direct your prompt to this prowlarr folder (cd ../prowlarr) and run the docker compose command like for watchtower
- Radarr is the movies manager
---
services:
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./data:/config
- "C:/Users/YOURUSER/arr/movies:/movies" #optional
- "C:/Users/YOURUSER/arr/downloads:/downloads" #optional
ports:
- 7878:7878
restart: unless-stopped
Source : Official doc (select your service to see the documentation)
Please note the YOURUSER marking where you're supposed to change it to your actual user. Don't copy paste blindly please, try not to be dumb.
Same last two steps, change directory (cd) then docker compose command and see in Docker desktop if the app is alive.
- Sonarr is the TV shows manager
---
services:
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
volumes:
- ./data:/config
- "C:/Users/YOURUSER/arr/series:/tv" #optional
- "C:/Users/YOURUSER/arr/downloads:/downloads" #optional
ports:
- 8989:8989
restart: unless-stopped
Source : Official doc (select your service to see the documentation)
Same last two steps, change directory (cd) then docker compose command and see in Docker desktop if the app is alive.
- Jellyfin is the streaming application
---
services:
jellyfin:
image: lscr.io/linuxserver/jellyfin:latest
container_name: jellyfin
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- JELLYFIN_PublishedServerUrl=http://0.0.0.0 #optional
volumes:
- ./library:/config
- "C:/Users/YOURUSER/arr/series:/data/tvshows"
- "C:/Users/YOURUSER/arr/movies:/data/movies"
ports:
- 8096:8096
- 8920:8920 #optional
- 7359:7359/udp #optional
- 1900:1900/udp #optional
restart: unless-stopped
Source : Official doc (select your service to see the documentation)
Here replace the 0.0.0.0 by your own IP address obviously.
Same last two steps, change directory (cd) then docker compose command and see in Docker desktop if the app is alive.
- Jellyseerr is the searching and requesting application, coming on top. Only for TV shows and movies.
---
services:
jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: jellyseerr
environment:
- LOG_LEVEL=debug
- TZ=Europe/Paris
- PORT=5055 #optional
ports:
- 5055:5055
volumes:
- ./config:/app/config
restart: unless-stopped
Source : Official doc
Same last two steps, change directory (cd) then docker compose command and see in Docker desktop if the app is alive.
- Transmission is the torrent downloader client
---
services:
transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: transmission
environment:
- PUID=1000
- PGID=1000
- TZ=Etc/UTC
- TRANSMISSION_WEB_HOME= #optional
- USER= #optional
- PASS= #optional
- WHITELIST= #optional
- PEERPORT= #optional
- HOST_WHITELIST= #optional
volumes:
- ./transmission/data:/config
- "C:/Users/YOURUSER/arr/downloads:/downloads"
- "C:/Users/YOURUSER/arr/downloads/watch:/watch"
ports:
- 9091:9091
- 51413:51413
- 51413:51413/udp
restart: unless-stopped
Source : Official doc (select your service to see the documentation)
Same last two steps, change directory (cd) then docker compose command and see in Docker desktop if the app is alive.
- Flaresolverr is a little tool to access Cloudflare protected trackers
---
services:
flaresolverr:
# DockerHub mirror flaresolverr/flaresolverr:latest
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
environment:
- LOG_LEVEL=${LOG_LEVEL:-info}
- LOG_HTML=${LOG_HTML:-false}
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
- TZ=Europe/Paris
ports:
- "${PORT:-8191}:8191"
restart: unless-stopped
Source : Official doc
Same last two steps, change directory (cd) then docker compose command and see in Docker desktop if the app is alive.
Step 3 : Configure the *ARR suite
Now you should have something like that :

Now, let's navigate to each apps and setup everything to work together.
- Prowlarr
