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/06/03 22:02] 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. +
-  * **Whisparr** manages adult videos. +
-  * **Readarr** manages Books (ebooks and audiobooks). +
-  * **Bazarr** manages Subtitles. +
-  * **Sabnzbd** manages NZB files. +
-  * **qBitTorrent** manages Torrents. +
-  * **JellyFin** Streams media.+
  
 ---- ----
Line 17: 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>+
  
 ---- ----
Line 37: Line 25:
  
 </WRAP> </WRAP>
- 
----- 
- 
-===== Create a Media Directory ===== 
- 
-<code bash> 
-mkdir /media 
-</code> 
- 
----- 
- 
-===== Change ownership of the Media Directory ===== 
- 
-<code bash> 
-chown -R 1000:1000 /media 
-</code> 
- 
-<WRAP info> 
-**NOTE:**  The 1000:1000 is usually the first user created on the system. 
- 
-  * Check the contents of **/etc/passwd** and **/etc/group** files. 
-    * This should show the user associated with UID 1000 and GID 1000. 
- 
-  * Alternatively, check 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' 
- 
- 
-# 
-# BAZARR 
-# 
- 
-  bazarr: 
-    image: lscr.io/linuxserver/bazarr:latest 
-    container_name: bazarr 
-    network_mode: "service:gluetun" 
-    volumes: 
-      - ${MEDIAPATH}bazarr/config:/config 
-      - ${MEDIAPATH}radarr/movies:/movies #optional 
-      - ${MEDIAPATH}sonarr/tvseries:/tv #optional 
-    restart: unless-stopped 
-    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> 
- 
-<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> 
- 
----- 
- 
-===== Do an initial run ===== 
- 
-<code bash> 
-sudo docker-compose up -d  
-</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 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 456: 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.1748988138.txt.gz · Last modified: 2025/06/03 22:02 by peter

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki