2 core host 8GB RAM 100GB Storage Downloader VM Specs:
2 core host 4GB RAM 250GB Storage (can download up to this limit at a time, be careful when mass downloading or give plenty of space) Prerequisites Ubuntu 22.">
2 core host 8GB RAM 100GB Storage Downloader VM Specs:
2 core host 4GB RAM 250GB Storage (can download up to this limit at a time, be careful when mass downloading or give plenty of space) Prerequisites Ubuntu 22." />
2 core host 8GB RAM 100GB Storage Downloader VM Specs:
2 core host 4GB RAM 250GB Storage (can download up to this limit at a time, be careful when mass downloading or give plenty of space) Prerequisites Ubuntu 22."/>
"description": "This guide is for someone who is looking to setup an Arr Stack for media organization and downloading. This guide requires no remote path mappings, follows Trash-Guides recommendations and every command needed is copy-pasteable. The VM\u0026rsquo;s in this guide are hosted on Proxmox 8.1.4, but you can use any Ubuntu environment (WSL-2, VirtualBox, etc.)\nArr VM Specs:\n2 core host 8GB RAM 100GB Storage Downloader VM Specs:\n2 core host 4GB RAM 250GB Storage (can download up to this limit at a time, be careful when mass downloading or give plenty of space) Prerequisites Ubuntu 22.",
"keywords": [
"Homelab"
],
"articleBody": "This guide is for someone who is looking to setup an Arr Stack for media organization and downloading. This guide requires no remote path mappings, follows Trash-Guides recommendations and every command needed is copy-pasteable. The VM’s in this guide are hosted on Proxmox 8.1.4, but you can use any Ubuntu environment (WSL-2, VirtualBox, etc.)\nArr VM Specs:\n2 core host 8GB RAM 100GB Storage Downloader VM Specs:\n2 core host 4GB RAM 250GB Storage (can download up to this limit at a time, be careful when mass downloading or give plenty of space) Prerequisites Ubuntu 22.04 Any Usenet Server Subscription (preferred) Any Usenet Indexer Subscription (preferred) Real-Debrid Subscription (if you like torrents being fast) VPN Subscription (Bare minimum needed to download torrents) Folder Structure Setup Run this command to make all folders, following TRASH-guides recommended naming scheme:\nsudo mkdir -p /data/torrents/{books,movies,music,tv} /data/usenet/{incomplete,complete/{books,movies,music,tv}} /data/media/{books,movies,music,tv} Mounting NAS I use my NAS for storing all my content, this allows me to have 1 spot to have everything saved too, and not getting tripped up with different file systems. You do not need a NAS, and can just skip this part of guide and use the local filesystem. I use TrueNAS Scale with SMB. In order to mount SMB shares to Linux filesystem we need to install CIFS:\nsudo apt install cifs-utils -y then we need to tell the system which directory to map it to, to do this:\nsudo nano /etc/fstab at the end of the file, add an entry for your NAS as such:\n/// /data/media cifs username=,password=,uid=1000,gid=1000,auto,nofail 0 0 be sure to replace your credentials.\nTo mount your NAS, you can run:\nsudo mount -a then run the following to make sure your NAS is mounted:\nls /data/media Everything in your NAS should be showing now, but we need to set permissions, to do that run:\nsudo chown -R $USER:$USER /data sudo chmod -R a=,a+rX,u+w,g+w /data Install Docker Now we have to install Docker, I use this command to install Docker and Docker Engine:\ncurl -fsSL https://get.docker.com | sudo sh Now that docker is installed, we can add our user to the docker group so we dont have to use sudo every command:\nsudo usermod -aG docker $USER Now I would make a docker directory to store all your appdata, you can use your home directory if you want, but trash-guides recommend not doing so:\nsudo mkdir -p /docker/appdata/{radarr,sonarr,bazarr,prowlarr,lidarr,sabnzbd,qbitty,rdt} Then set permissions on the docker directory:\nsudo chown -R $USER:$USER /docker sudo chmod -R a=,a+rX,u+w,g+w /docker 2 VM Setup I have my downloaders (Sab, Qbitty, Rdt-client) on a different VM than my ARR’s, this is cause when I had everything on 1 docker host, I would have constant HTTP errors from Sab mainly, and as Sab is where I get most of my media, I decided to move to another VM, and then SMB share the download directories over to my ARR’s VM.\nYou do not have to do this, you can just have 1 docker host, up to you. It is alot less work to do all in one 1 VM.\nIf you do this, you need to replicate the origin setup, making all the same directories, then run:\nsudo apt update sudo apt install samba We need to configure Samba to tell it what we are sharing:\nsudo nano /etc/samba/smb.conf Add the following at the end of this file:\n[usenet] path = /data/usenet read only = no guest ok = no create mask = 0755 [torrents] path = /data/torrents read only = no guest ok = no create mask = 0755 To create your username and password, replace your_username with your actual username:\nsudo smbpasswd -a your_username Then restart samba with:\nsudo systemctl restart smbd Go back to your Arr VM and add the following to your /etc/fstab:\n///usenet /data/usenet cifs username=,password=,uid=1000,gid=1000,auto,nofail 0 0 ///torrents /data/torrents cifs username=,password=,uid=1000,gid=1000,auto,nofail 0 0 Mount them with:\nsudo mount -a Then re-run our permissions command:\nsudo chown -R $USER:$USER /data sudo chmod -R a=,a+rX,u+w,g+w /d
<divclass="post-content"><p>This guide is for someone who is looking to setup an Arr Stack for media organization and downloading. This guide requires no remote path mappings, follows Trash-Guides recommendations and every command needed is copy-pasteable. The VM’s in this guide are hosted on Proxmox 8.1.4, but you can use any Ubuntu environment (WSL-2, VirtualBox, etc.)</p>
<p>Arr VM Specs:</p>
<ul>
<li>2 core host</li>
<li>8GB RAM</li>
<li>100GB Storage</li>
</ul>
<p>Downloader VM Specs:</p>
<ul>
<li>2 core host</li>
<li>4GB RAM</li>
<li>250GB Storage (can download up to this limit at a time, be careful when mass downloading or give plenty of space)</li>
<p>Run this command to make all folders, following <ahref="https://trash-guides.info/Hardlinks/How-to-setup-for/Docker/">TRASH-guides recommended naming scheme</a>:</p>
<p>I use my NAS for storing all my content, this allows me to have 1 spot to have everything saved too, and not getting tripped up with different file systems. You do not need a NAS, and can just skip this part of guide and use the local filesystem. I use TrueNAS Scale with SMB. In order to mount SMB shares to Linux filesystem we need to install CIFS:</p>
</code></pre><p>Now I would make a docker directory to store all your appdata, you can use your home directory if you want, but trash-guides recommend not doing so:</p>
</code></pre><h2id="2-vm-setup">2 VM Setup<ahiddenclass="anchor"aria-hidden="true"href="#2-vm-setup">#</a></h2>
<p>I have my downloaders (Sab, Qbitty, Rdt-client) on a different VM than my ARR’s, this is cause when I had everything on 1 docker host, I would have constant HTTP errors from Sab mainly, and as Sab is where I get most of my media, I decided to move to another VM, and then SMB share the download directories over to my ARR’s VM.</p>
<p>You do not have to do this, you can just have 1 docker host, up to you. It is alot less work to do all in one 1 VM.</p>
<p>If you do this, you need to replicate the origin setup, making all the same directories, then run:</p>
<pretabindex="0"><code>sudo apt update
sudo apt install samba
</code></pre><p>We need to configure Samba to tell it what we are sharing:</p>
<p>This is a full docker compose file for pretty much all major Arr’s and downloaders I use. I threw Lidarr in here as well, as I run Lidarr for music, but if you dont care about music you can remove lidarr:</p>
As stated previously, Sab downloads most of my content (95%), you do not need all 3 of these, you can just copy the Sab part and just use Usenet with Sab. But I like to have a variety.</p>
<p>In order to run these files, it depends on which option you chose, if 1 VM setup, just copy the compose file and create a new docker-compose.yml file with:</p>
<pretabindex="0"><code>nano docker-compose.yml
</code></pre><p>Paste in the content, CTRL + X to exit nano, Y to save, ENTER to keep filename. Then run:</p>
<pretabindex="0"><code>docker compose up -d
</code></pre><p>If you are using 2 VM’s, you need to do this 2x. One for each docker-compose file.</p>
<p>Congratulations on setting up your media library backend! We now have to go and configure all these services to work together, which I have another full blog post on which you can find here.</p>