systems:media_server:install_docker
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
systems:media_server:install_docker [2025/05/20 08:10] – [Configure qBittorrent service] peter | systems:media_server:install_docker [2025/07/30 09:52] (current) – peter | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Systems - Media Server - Install Docker ====== | ====== Systems - Media Server - Install Docker ====== | ||
- | |||
- | Docker will be installed, together with some useful media-related docker containers, including: | ||
- | |||
- | * **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. | ||
- | |||
- | ---- | ||
===== Install Docker ===== | ===== Install Docker ===== | ||
- | <code bash> | + | Follow |
- | sudo apt install docker.io docker-compose -y | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== Create a Media Directory ===== | + | |
- | + | ||
- | <code bash> | + | |
- | mkdir /media | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== Change ownership of the Media Directory ===== | + | |
- | + | ||
- | <code bash> | + | |
- | chown -R 1000:1000 /media | + | |
- | </ | + | |
<WRAP info> | <WRAP info> | ||
- | **NOTE: | + | **NOTE: |
- | + | ||
- | * Check the contents of **/ | + | |
- | * This should show the user associated | + | |
- | + | ||
- | * Alternatively, | + | |
- | id 1000</ | + | |
</ | </ | ||
---- | ---- | ||
- | ===== Create an environment file ===== | + | ===== Allow docker to be run without using sudo ===== |
- | <file text docker-media.env> | + | Follow the instructions at: [[Docker:Allow docker |
- | # Main path for all MEDIA apps: | + | |
- | MEDIAPATH=/ | + | |
- | + | ||
- | # Global Variables | + | |
- | PUID=1000 | + | |
- | PGID=1000 | + | |
- | TZ=Europe/ | + | |
- | </ | + | |
- | + | ||
- | <WRAP info> | + | |
- | **NOTE: | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== Create a Docker | + | |
- | + | ||
- | <file yaml docker-compose.yml> | + | |
- | services: | + | |
- | + | ||
- | # | + | |
- | # PROWLARR | + | |
- | # | + | |
- | + | ||
- | prowlarr: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | hostname: prowlarr | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Prowlarr/ | + | |
- | - ${MEDIAPATH}Prowlarr/ | + | |
- | - ${MEDIAPATH}Downloads:/ | + | |
- | ports: | + | |
- | - 9696:9696 | + | |
- | restart: unless-stopped | + | |
- | env_file: | + | |
- | - 'docker-media.env' | + | |
- | + | ||
- | # | + | |
- | # SONARR | + | |
- | # | + | |
- | + | ||
- | sonarr: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | hostname: sonarr | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Sonarr/ | + | |
- | - ${MEDIAPATH}Sonarr/ | + | |
- | - ${MEDIAPATH}Sonarr/ | + | |
- | - ${MEDIAPATH}Downloads:/ | + | |
- | ports: | + | |
- | - 8989:8989 | + | |
- | restart: unless-stopped | + | |
- | env_file: | + | |
- | - ' | + | |
- | + | ||
- | # | + | |
- | # RADARR | + | |
- | # | + | |
- | + | ||
- | radarr: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | hostname: radarr | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Radarr/ | + | |
- | - ${MEDIAPATH}Radarr/ | + | |
- | - ${MEDIAPATH}Radarr/ | + | |
- | - ${MEDIAPATH}Downloads:/ | + | |
- | ports: | + | |
- | - 7878:7878 | + | |
- | restart: unless-stopped | + | |
- | env_file: | + | |
- | - ' | + | |
- | + | ||
- | # | + | |
- | # LIDARR | + | |
- | # | + | |
- | + | ||
- | lidarr: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | hostname: lidarr | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Lidarr/ | + | |
- | - ${MEDIAPATH}Lidarr/ | + | |
- | - ${MEDIAPATH}Downloads:/ | + | |
- | ports: | + | |
- | - 8686:8686 | + | |
- | restart: unless-stopped | + | |
- | env_file: | + | |
- | - ' | + | |
- | + | ||
- | # | + | |
- | # READARR | + | |
- | # | + | |
- | + | ||
- | readarr: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | hostname: readarr | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Readarr/ | + | |
- | - ${MEDIAPATH}Readarr/ | + | |
- | - ${MEDIAPATH}Downloads:/ | + | |
- | ports: | + | |
- | - 8787:8787 | + | |
- | restart: unless-stopped | + | |
- | env_file: | + | |
- | - ' | + | |
- | + | ||
- | + | ||
- | # | + | |
- | # HOMARR | + | |
- | # | + | |
- | + | ||
- | homarr: | + | |
- | container_name: | + | |
- | image: ghcr.io/ | + | |
- | restart: unless-stopped | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Homarr/ | + | |
- | - ${MEDIAPATH}Homarr/ | + | |
- | - ${MEDIAPATH}Homarr/ | + | |
- | ports: | + | |
- | - ' | + | |
- | env_file: | + | |
- | - ' | + | |
- | + | ||
- | + | ||
- | # | + | |
- | # JELLYFIN | + | |
- | # | + | |
- | + | ||
- | jellyfin: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | ports: | + | |
- | - ' | + | |
- | - ' | + | |
- | - ' | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}Jellyfin/ | + | |
- | - ${MEDIAPATH}Radarr/ | + | |
- | - ${MEDIAPATH}Sonarr/ | + | |
- | - ${MEDIAPATH}Lidarr/ | + | |
- | - ${MEDIAPATH}Readarr/ | + | |
- | env_file: | + | |
- | - ' | + | |
- | restart: unless-stopped | + | |
- | + | ||
- | # | + | |
- | # QBITTORRENT | + | |
- | # | + | |
- | + | ||
- | qbittorrent: | + | |
- | image: linuxserver/ | + | |
- | container_name: | + | |
- | hostname: qbittorrent | + | |
- | restart: unless-stopped | + | |
- | labels: | + | |
- | - " | + | |
- | volumes: | + | |
- | - ${MEDIAPATH}qbittorrent/ | + | |
- | - ${MEDIAPATH}Downloads:/ | + | |
- | ports: | + | |
- | - 8080:8080 | + | |
- | - 6881:6881 | + | |
- | - 6881: | + | |
- | environment: | + | |
- | - WEBUI_PORT=8080 | + | |
- | - TORRENTING_PORT=6881 | + | |
- | healthcheck: | + | |
- | start_period: | + | |
- | env_file: | + | |
- | - ' | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== Change ownership of the Media directory ===== | + | |
- | + | ||
- | <code bash> | + | |
- | chown -R 1000:1000 /media | + | |
- | </ | + | |
- | + | ||
- | <WRAP info> | + | |
- | **NOTE: | + | |
- | + | ||
- | * Use the UID (user id) and GID (group id) configured in the **docker-media.env** file. | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== Do an initial | + | |
- | + | ||
- | <code bash> | + | |
- | sudo docker-compose up -d | + | |
- | sudo docker-compose stop | + | |
- | sudo docker-compose rm | + | |
- | </ | + | |
- | + | ||
- | <WRAP info> | + | |
- | **NOTE: | + | |
- | + | ||
- | * 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 | + | |
- | </ | + | |
- | + | ||
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== 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 | + | |
- | </ | + | |
- | + | ||
- | returns: | + | |
- | + | ||
- | < | + | |
- | ... | + | |
- | The WebUI administrator username is: admin | + | |
- | The WebUI administrator password was not set. A temporary password is provided for this session: blahblah | + | |
- | ... | + | |
- | </ | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | === Log into qbittorrent === | + | |
- | + | ||
- | Visit http:// | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | === 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:// | + | |
- | * 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) and username and password that you configured for qBittorrent in previous step. | + | |
- | * Host - This may need to be changed from **localhost** to the IP address of the host machine. | + | |
- | * Check what the IP Address is on the host system with <code bash>ip address< | + | |
- | * Return to the ' | + | |
- | * Click the **Test** button at the bottom to make sure you get a green **tick**. | + | |
- | * Click **Save**. | + | |
- | + | ||
- | ---- | + | |
- | + | ||
- | ===== Configure the Sonarr service ===== | + | |
- | + | ||
- | * Visit http:// | + | |
- | * 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 its {MEDIAPATH}Sonarr/ | + | |
- | * Therefore, set **/ | + | |
- | * 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 below to see if a green ' | + | |
- | * Navigate to **Settings -> General**, and switch to **show advanced** in top left corner. | + | |
- | * Scroll down to **Backups** and choose **/ | + | |
- | * This is currently ${MEDIAPATH}Sonarr/ | + | |
---- | ---- | ||
Line 344: | Line 21: | ||
https:// | https:// | ||
- | https:// | ||
- | |||
- | https:// | ||
- | |||
- | https:// | ||
- | |||
- | https:// | ||
- | |||
- | http:// | ||
- | |||
- | http:// | ||
systems/media_server/install_docker.1747728620.txt.gz · Last modified: 2025/05/20 08:10 by peter