· 5 years ago · Nov 23, 2020, 09:28 PM
1# Instructions:
2# This will work on Linux. Should be fairly similar for Windows, but you will have to change the directories, and
3# installing docker will be a bit different. I'd recommend something like Ubuntu Server because it's super easy and
4# I believe the installer gives you the option to install docker :)
5#
6# If you don't have docker/docker-compose installed, install them. Here's instructions for doing so on Ubuntu :)
7# https://docs.docker.com/engine/install/ubuntu/
8# https://docs.docker.com/compose/install/
9#
10# Run the following commands:
11# mkdir ~/media-stack/ [~ is your local user's home directory]
12# sudo nano ~/media-stack/docker-compose.yml
13#
14# Copy and paste this file into Nano (In Linux terminal, paste w/ Ctrl+Shift+V)
15# Replace [youruser] with your Linux username
16# Replace [username] and [password] in the Transmission section with a username and password for the Transmission webui
17# Press Ctrl+X to close, Y to save
18#
19# Create the following directories with mkdir:
20# - ~/media-library/
21# - ~/media-library/tv-shows/
22# - ~/media-library/movies/
23# - ~/media-library/plex-config/
24# - ~/media-library/sonarr-config/
25# - ~/media-library/radarr-config/
26# - ~/media-library/transmission-config/
27# - ~/downloads/
28# - ~/downloads/watch/
29#
30# cd ~/media-stack/
31# sudo docker-compose up -d
32#
33# At this point, Docker will pull all of the images defined in docker-compose.yml and get them started. There's a bit more
34# config involved in setting up Radarr and Sonarr, mainly you have to set up torrent trackers in Jackett and pass them to
35# Radarr and Sonarr, along with Jackett's API key. There's a lot of resources online for this and it's super easy, but let
36# me know if you have any issues. Once you have that set up, all you have to do is add some content to either one, press
37# search, and it will look for torrents that meet your criteria, pop those torrents in your /downloads/watch folder,
38# Transmission will see those and download them, and when they're done, Radarr/Sonarr will rename the files and drop them
39# in your Plex library's tv-shows or movies folder. Since we've done a volume mount for each folder, they'll be persistent
40# through restarts. It's a super cool first project!
41
42version: "2.1"
43services:
44 plex:
45 image: linuxserver/plex
46 container_name: plex
47 network_mode: host
48 environment:
49 - PUID=1000
50 - PGID=1000
51 - VERSION=docker
52 volumes:
53 - /home/[youruser]/media-library/plex-config:/config
54 - /home/[youruser]/media-library/tv-shows:/tv
55 - /home/[youruser]/media-library/movies:/movies
56 ports:
57 - 32400:32400
58 restart: unless-stopped
59
60 sonarr:
61 image: linuxserver/sonarr
62 container_name: sonarr
63 environment:
64 - PUID=1000
65 - PGID=1000
66 - TZ=America/Chicago
67 volumes:
68 - /home/[youruser]/media-library/sonarr-config:/config
69 - /home/[youruser]/media-library/tv-shows:/tv
70 - /home/[youruser]/downloads:/downloads
71 ports:
72 - 8989:8989
73 restart: unless-stopped
74
75 radarr:
76 image: linuxserver/radarr
77 container_name: radarr
78 environment:
79 - PUID=1000
80 - PGID=1000
81 - TZ=America/Chicago
82 volumes:
83 - /home/[youruser]/media-library/radarr-config:/config
84 - /home/[youruser]/media-library/movies:/movies
85 - /home/[youruser]/downloads:/downloads
86 ports:
87 - 7878:7878
88 restart: unless-stopped
89
90 transmission:
91 image: linuxserver/transmission
92 container_name: transmission
93 environment:
94 - PUID=1000
95 - PGID=1000
96 - TZ=America/Chicago
97 - TRANSMISSION_WEB_HOME=/kettu/
98 - USER=[username]
99 - PASS=[password]
100 volumes:
101 - /home/[youruser]/media-library/transmission-config:/config
102 - /home/[youruser]/downloads:/downloads
103 - /home/[youruser]/downloads/watch:/watch
104 ports:
105 - 9091:9091
106 - 51413:51413
107 - 51413:51413/udp
108 restart: unless-stopped
109
110 jackett:
111 image: linuxserver/jackett
112 container_name: jackett
113 environment:
114 - PUID=1000
115 - PGID=1000
116 - TZ=America/Chicago
117 - AUTO_UPDATE=true #optional
118 volumes:
119 - /home/[youruser]/media-library/transmission-config:/config
120 - /home/[youruser]/downloads/watch:/downloads
121 ports:
122 - 9117:9117
123 restart: unless-stopped
124