Skip to content

Instantly share code, notes, and snippets.

@crocandr
Last active April 7, 2024 23:01
Show Gist options
  • Star 39 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save crocandr/6c3eb70f5b2a1b4989f369b46471ddec to your computer and use it in GitHub Desktop.
Save crocandr/6c3eb70f5b2a1b4989f369b46471ddec to your computer and use it in GitHub Desktop.

Home Media Stack

Dockerized Plex with Transmission and Radarr and Sonarr for more easily movies and TV series download.

Docker-compose

.env:

VOL_DOWNLOAD=/mnt/temp/data
VOL_MOVIES=/mnt/temp/data/movies
VOL_SERIES=/mnt/temp/data/tv_series
VOL_PHOTOS=/mnt/temp/data/photos
VOL_OTHER=/mnt/temp/data/other

docker-compose.yml:

version: '3'

services:
  # media server
  plex:
    image: linuxserver/plex
    volumes:
      - "./plex/config:/config"
      - "${VOL_SERIES}:/data/series"
      - "${VOL_MOVIES}:/data/movies"
      - "${VOL_OTHER}:/data/other"
      - "${VOL_PHOTOS}:/data/photos"
      - "./plex/transcode:/transcode"
      - "/etc/localtime:/etc/localtime:ro"
    network_mode: "host"
    restart: "unless-stopped"
  # torrent downloader
  transmission:
    image: linuxserver/transmission
    volumes:
      - "./transmission/config:/config"
      - "./transmission/watch:/watch"
      - "${VOL_DOWNLOAD}:/downloads"
      - "${VOL_MOVIES}:/downloads/movies"
      - "${VOL_SERIES}:/downloads/series"
      - "${VOL_OTHER}:/downloads/other"
      - "/etc/localtime:/etc/localtime:ro"
#    ports:
#      - "51413:51413"
#      - "51413:51413/udp"
#      - "9091:9091"
    network_mode: "host"
    restart: "unless-stopped"
  # movie search
  radarr:
    image: linuxserver/radarr
    volumes:
      - "${VOL_DOWNLOAD}:/downloads"
      - "${VOL_MOVIES}:/downloads/movies"
      - "./radarr/movies:/movies"
      - "./radarr/config:/config"
      - "/etc/localtime:/etc/localtime:ro"
    ports:
      - "7878:7878"
    restart: "unless-stopped"
  # tv series search
  sonarr:
    image: linuxserver/sonarr
    volumes:
      - "${VOL_DOWNLOAD}:/downloads"
      - "${VOL_SERIES}:/downloads/series"
      - "./sonarr/series:/tv"
      - "./sonarr/config:/config"
      - "/etc/localtime:/etc/localtime:ro"
    ports:
      - "8989:8989"
    restart: "unless-stopped"    

start the stack:

docker-compose up -d

and wait 1-5 mins

Usage

Service URL Function
Plex http://:32400/web Media server
Transmission http://:9091 torrent download client
Radarr http://:7878 Movie search and download automatizer
Sonarr http://:8989 TV Series search and download automatizer

Setup

Plex

You have to Plex with port forward or on the docker host firstly to create and setup the new server.

port forward example for Linux:

ssh user@192.168.1.100 -L 32400:127.0.0.1:32400

where:

  • the user is the system (ssh) user on docker host
  • 192.168.1.100 is the IP address of the docker host

Login on the Plex UI and setup the server.

Add these folders to the server:

  • /data/movies as movie store
  • /data/series as TV series store
  • /data/photos as photo store
  • /data/other as other store (home movies, photos, etc.)

Transmission

the default setup of the transmission is good enough for this stack, but You can modify any config with the default transmission/config/settings.json config file. Like upload limit, speed limits and others. Save the file and restart the transmission container (docker-compose restart transmission) after the modification.

Sonarr

This is a TV shows search tool.

Setup:

  • You have to add some torrent sites (like rarbg.com) as indexer (search source) in the Settings menu
  • You have to add the transmission as download client in the Settings menu. (Name: trans1, Host: IP of your docker host)

Radarr

This is a movie search tool.

Setup is very same as Sonarr.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment