User Tools

Site Tools


systems:media_server:install_docker

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
systems:media_server:install_docker [2025/05/20 08:35] – [Configure qBittorrent service] petersystems:media_server:install_docker [2025/06/05 21:10] (current) peter
Line 1: Line 1:
 ====== Systems - Media Server - Install Docker ====== ====== Systems - Media Server - Install Docker ======
  
-Docker will be installedtogether with some useful media-related docker containers, including: +Docker will be installed together with Docker-Compose.
- +
-  * **Prowlarr** is an indexer manager, offering complete management of indexers with no per app Indexer setup required. +
-  * **Sonarr** manages TV shows. +
-  * **Radarr** manages Movies.  +
-  * **Readarr** manages Books (ebooks and audiobooks). +
-  * **Bazarr** manages Subtitles. +
-  * **Sabnzbd** manages NZB files. +
-  * **QBitTorrent** manages Torrents. +
-  * **JellyFin** Streams media.+
  
 ---- ----
Line 16: Line 7:
 ===== Install Docker ===== ===== Install Docker =====
  
-<code bash> +Follow the installation instructions at: [[Docker:Install Docker|Install Docker]]
-sudo apt install docker.io docker-compose -y +
-</code>+
  
 ---- ----
  
-===== Create a Media Directory =====+===== Add your user to the docker group =====
  
 <code bash> <code bash>
-mkdir /media +sudo usermod -aG docker $USER
-</code> +
- +
----- +
- +
-===== Change ownership of the Media Directory ===== +
- +
-<code bash> +
-chown -R 1000:1000 /media+
 </code> </code>
  
 <WRAP info> <WRAP info>
-**NOTE:**  The 1000:1000 is usually the first user created on the system.+**NOTE:**  This allows docker to be run without using sudo.
  
-  * Check the contents of **/etc/passwd** and **/etc/group** files. +To enable this functionalitylog out and log back in; or run: <code bash> 
-    * This should show the user associated with UID 1000 and GID 1000. +newgrp docker
- +
-  * Alternativelycheck which UID and GID is associated with 1000:1000 by running: <code bash> +
-id 1000</code> +
- +
-</WRAP> +
- +
----- +
- +
-===== Create an environment file ===== +
- +
-<file text docker-media.env> +
-# Main path for all MEDIA apps: +
-MEDIAPATH=/media/ +
- +
-# Global Variables +
-PUID=1000 +
-PGID=1000 +
-TZ=Europe/London +
-</file> +
- +
-<WRAP info> +
-**NOTE:**  Ensure the UID and GID point to the same user as before. +
-</WRAP> +
- +
----- +
- +
-===== Create a Docker Compose file ===== +
- +
-<file yaml docker-compose.yml> +
-services:  +
- +
-+
-# PROWLARR +
-+
-                     +
-  prowlarr: +
-    image: linuxserver/prowlarr:latest +
-    container_name: prowlarr +
-    hostname: prowlarr +
-    volumes: +
-      - ${MEDIAPATH}Prowlarr/config:/config +
-      - ${MEDIAPATH}Prowlarr/backup:/data/Backup +
-      - ${MEDIAPATH}Downloads:/downloads +
-    ports: +
-      - 9696:9696 +
-    restart: unless-stopped +
-    env_file: +
-      - 'docker-media.env' +
- +
-+
-# SONARR +
-+
- +
-  sonarr: +
-    image: linuxserver/sonarr:latest +
-    container_name: sonarr +
-    hostname: sonarr +
-    volumes: +
-      - ${MEDIAPATH}Sonarr/config:/config +
-      - ${MEDIAPATH}Sonarr/backup:/data/Backup +
-      - ${MEDIAPATH}Sonarr/tvshows:/data/tvshows +
-      - ${MEDIAPATH}Downloads:/downloads +
-    ports: +
-      - 8989:8989 +
-    restart: unless-stopped +
-    env_file: +
-      - 'docker-media.env' +
- +
-+
-# RADARR +
-+
- +
-  radarr: +
-    image: linuxserver/radarr:latest +
-    container_name: radarr +
-    hostname: radarr +
-    volumes: +
-      - ${MEDIAPATH}Radarr/config:/config +
-      - ${MEDIAPATH}Radarr/movies:/data/movies +
-      - ${MEDIAPATH}Radarr/backup:/data/Backup +
-      - ${MEDIAPATH}Downloads:/downloads +
-    ports: +
-      - 7878:7878 +
-    restart: unless-stopped +
-    env_file: +
-      - 'docker-media.env' +
- +
-+
-# LIDARR +
-+
- +
-  lidarr: +
-    image: linuxserver/lidarr:latest +
-    container_name: lidarr +
-    hostname: lidarr +
-    volumes: +
-      - ${MEDIAPATH}Lidarr/config:/config +
-      - ${MEDIAPATH}Lidarr/music:/data/musicfolder +
-      - ${MEDIAPATH}Downloads:/downloads +
-    ports: +
-      - 8686:8686 +
-    restart: unless-stopped +
-    env_file: +
-      - 'docker-media.env' +
- +
-+
-# READARR +
-+
- +
-  readarr: +
-    image: linuxserver/readarr:develop +
-    container_name: readarr +
-    hostname: readarr +
-    volumes: +
-      - ${MEDIAPATH}Readarr/config:/config +
-      - ${MEDIAPATH}Readarr/books:/data/books +
-      - ${MEDIAPATH}Downloads:/downloads +
-    ports: +
-      - 8787:8787 +
-    restart: unless-stopped +
-    env_file: +
-      - 'docker-media.env' +
- +
- +
-+
-# HOMARR +
-+
- +
-  homarr: +
-    container_name: homarr +
-    image: ghcr.io/ajnart/homarr:latest +
-    restart: unless-stopped +
-    volumes: +
-      - ${MEDIAPATH}Homarr/configs:/app/data/configs +
-      - ${MEDIAPATH}Homarr/icons:/app/public/icons +
-      - ${MEDIAPATH}Homarr/data:/data +
-    ports: +
-      - '7575:7575' +
-    env_file: +
-      - 'docker-media.env' +
- +
- +
-+
-# JELLYFIN +
-+
- +
-  jellyfin: +
-    image: linuxserver/jellyfin +
-    container_name: jellyfin +
-    ports: +
-      - '8096:8096/tcp'   # Jellyfin web interface +
-      - '7359:7359/udp'   # Network discovery +
-      - '1900:1900/udp'   # DLNA port +
-    volumes: +
-      - ${MEDIAPATH}Jellyfin/config:/config +
-      - ${MEDIAPATH}Radarr/movies:/data/Movies +
-      - ${MEDIAPATH}Sonarr/tvshows:/data/TVShows +
-      - ${MEDIAPATH}Lidarr/music:/data/Music +
-      - ${MEDIAPATH}Readarr/books:/data/Books +
-    env_file: +
-      - 'docker-media.env' +
-    restart: unless-stopped +
- +
-+
-# QBITTORRENT +
-+
- +
-  qbittorrent: +
-    image: linuxserver/qbittorrent:latest +
-    container_name: qbittorrent +
-    hostname: qbittorrent +
-    restart: unless-stopped +
-    labels: +
-      - "com.centurylinklabs.watchtower.enable=false" +
-    volumes: +
-      - ${MEDIAPATH}qbittorrent/config:/config +
-      - ${MEDIAPATH}Downloads:/downloads +
-    ports: +
-      - 8080:8080 +
-      - 6881:6881 +
-      - 6881:6881/udp +
-    environment: +
-      - WEBUI_PORT=8080 +
-      - TORRENTING_PORT=6881 +
-    healthcheck: +
-      start_period: 15s +
-    env_file: +
-      - 'docker-media.env' +
- +
-</file> +
- +
----- +
- +
-===== Change ownership of the Media directory ===== +
- +
-<code bash> +
-chown -R 1000:1000 /media+
 </code> </code>
  
-<WRAP info> 
-**NOTE:**  This is the directory specified in the **docker-media.env** file. 
- 
-  * Use the UID (user id) and GID (group id) configured in the **docker-media.env** file. 
 </WRAP> </WRAP>
- 
----- 
- 
-===== Do an initial run ===== 
- 
-<code bash> 
-sudo docker-compose up -d  
-sudo docker-compose stop 
-sudo docker-compose rm  
-</code> 
- 
-<WRAP info> 
-**NOTE:**  Ensure the command is run within the directory that contains the docker-compose and environment files. 
- 
-  * This may take a long time the first time this is run. 
- 
-To stop and remove the docker containers: <code bash> 
-sudo docker-compose stop 
-sudo docker-compose rm  
-</code> 
- 
-</WRAP> 
- 
----- 
- 
-===== Configure the various services ===== 
- 
-===== Configure qBittorrent service ===== 
- 
-==== Ascertain the initial temporary password ==== 
- 
-qBittorrent will initially be using a temporary password only. 
- 
-  * To ascertain what this temporary password is, check the logs for the qbittorrent container. 
- 
-<code bash> 
-sudo docker logs qbittorrent 
-</code> 
- 
-returns: 
- 
-<code> 
-... 
-The WebUI administrator username is: admin 
-The WebUI administrator password was not set. A temporary password is provided for this session: blahblah 
-... 
-</code> 
- 
----- 
- 
-==== Log into qbittorrent ==== 
- 
-Visit http://localhost:8080 and log on using the details provided in the container logs. 
- 
----- 
- 
-==== Set a permanent password ==== 
- 
-Navigate to **Tools -> Options -> WebUI -> change the user and password** and check **bypass authentication for clients on localhost**. 
- 
----- 
- 
-===== Configure the Prowlarr service ===== 
- 
-  * Visit http://localhost:9696. 
-  * Navigate to **Settings -> Download Clients -> + symbol -> Add download client**. 
-  * Choose qBittorrent. 
-  * Enter the port number matching the WebUI in docker-compose for qBittorrent (default is 8080), with the Username and Password that you configured for qBittorrent in the previous step. 
-  * Host - This may need to be changed from **localhost** to the IP address of the host machine.   
-    * To check what the IP Address is on the host system run: <code bash>ip address</code> 
-  * Return to the 'qbittorrent' URL. 
-  * Click the **Test** button at the bottom to make sure you get a green **tick**. 
-  * Click **Save**. 
- 
----- 
- 
-===== Configure the Sonarr service ===== 
- 
-  * Visit http://localhost:8989. 
-  * Navigate to **Settings -> Media Management -> Add Root Folder**, and set the root folder to what it is on the right side of the colon in the **volume** config line for Sonarr. 
-    * In the docker-compose file it is {MEDIAPATH}Sonarr/tvshows:/data/tvshows 
-    * Therefore, set **/data/tvshows** as the root directory. 
-  * Navigate to **Settings -> Download Clients**, and click the **+ symbol**. 
-  * Choose qBittorrent and repeat the steps from Prowlarr. 
-  * Navigate to **Settings -> General**, and scroll down to the **API key**. 
-  * Copy this key, and then go to **Prowlarr -> Settings -> Apps**, and click the **+ - Sonarr**, and paste the API key. 
-  * The host might also have to be changed from **localhost** to IP address of the Host. 
-  * Click the **Test** button, near the bottom, to see if a green 'tick' is shown. 
-  * Navigate to **Settings -> General**, and switch to **show advanced** in top left corner. 
-  * Scroll down to **Backups** and choose **/data/Backup** (or whatever location is in the docker compose file for Sonarr backups. 
-    * This is currently ${MEDIAPATH}Sonarr/backup:/data/Backup, hence we set **/data/Backup**, as that is on the right side of the colon. 
- 
----- 
- 
-===== Configure the Radarr service ===== 
- 
-  * Visit http://localhost:7878 
-  * Navigate to **Settings -> Media Management -> Add Root Folder**, and set **/data/movies** as the root folder 
-  * Navigate to **Settings -> Download clients**, and click the **'+'** symbol, choose qBittorrent etc. - basically same steps as for Sonarr 
-  * Navigate to **Settings -> General**, and scroll down to the API key. 
-    * Copy the API key. 
-  * Navigate to Prowlarr, and same way as in sonarr. 
-  * Navigate to **Settings -> General**, switch to **show advanced** -> Backups, and choose **/data/Backup** directory. 
- 
----- 
- 
-===== Configure the Lidarr service ===== 
- 
-  * Visit http://localhost:8686 
-  * Follow the same steps as for the above applications. 
- 
----- 
- 
-===== Configure the Readarr service ===== 
- 
-  * Visit http://localhost:8787 
-  * Follow the same steps as for the above applications. 
- 
----- 
- 
-===== Configure the Homarr service ===== 
- 
-  * Visit http://localhost:7575 
-  * Return to Prowlarr and click **Indexers** at the top right. 
-  * Click **Add indexer**, and search for preferred indexes. 
-    * Good indexes include **rarbg** and **yts**, but try others... 
-  * Test and Save. 
-  * Click **Sync App Indexers** icon (next to **Add indexer**). 
-  * Navigate to **Settings -> Apps** and this should show in green **Full sync** next to each application. 
- 
----- 
- 
-===== Configure the JellyFin service ===== 
- 
-  * Visit http://localhost:8096 
-  * Add media library in Jellyfin matching folders configured in the **docker-compose.yml** file, so in Jellyfin you should see them as: 
- 
-<code> 
-/data/Movies 
-/data/TVShows 
-/data/Music 
-/data/Books 
-</code> 
- 
-<WRAP info> 
-**NOTE:**  These locations should match the right side of the config in the Jellyfin **volume** configuration. 
- 
-If the volume configuration looks like this: 
- 
-<code> 
-    volumes: 
-      - ${MEDIAPATH}Radarr/movies:/data/Movies 
-      - ${MEDIAPATH}Sonarr/tvshows:/data/TVShows 
-      - ${MEDIAPATH}Lidarr/music:/data/Music 
-      - ${MEDIAPATH}Readarr/books:/data/Books 
-</code> 
- 
-then on the container match the right side from the colon, e.g. /data/Movies, /data/TVShows etc. 
- 
-</WRAP> 
- 
----- 
- 
-===== Configuration is complete ===== 
- 
-All docker contains are configured. 
- 
----- 
- 
-===== Add Movies or TV to download ===== 
- 
-Add any media, such as Movies in radarr or TV Shows in sonarr etc., and click **search all** or **search monitored**, which will trigger the download process. 
- 
-  * Check QBitTorrent which should show the downloading... 
  
 ---- ----
Line 426: Line 32:
 https://wiki.servarr.com/docker-guide https://wiki.servarr.com/docker-guide
  
-https://prowlarr.com/ 
- 
-https://docs.linuxserver.io/images/docker-prowlarr/ 
- 
-https://discord.sonarr.tv/ 
- 
-https://radarr.video/discord 
- 
-http://reddit.com/r/sonarr 
- 
-http://reddit.com/r/radarr 
  
systems/media_server/install_docker.1747730117.txt.gz · Last modified: 2025/05/20 08:35 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki