summaryrefslogtreecommitdiff
path: root/docker-compose.example.yaml
blob: 4c8043721feee621207cf83788cf23d4413eee97 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
version: "3"

services:
  # <media_service> is used to serve your media to the client devices
  <media_service>:
    image: lscr.io/linuxserver/<media_service>
    container_name: <media_service>
    #network_mode: host # plex
    environment:
      - PUID=<your_PUID>
      - PGID=<your_PGID>
      - VERSION=docker
    volumes:
      - <media_folder>/movies:/data/movies
      - <media_folder>/tvshows:/data/tvshows
      - <install_location>/config/<media_service>:/config
    ports:
      - 8096:8096
    restart: unless-stopped

  # qBitorrent is used to download torrents
  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent
    container_name: qbittorrent
    environment:
      - PUID=<your_PUID>
      - PGID=<your_PGID>
      - WEB_UI_PORT=8080
    volumes:
      - <media_folder>/downloads:/downloads
      - <install_location>/config/qbittorrent:/config
    restart: unless-stopped
    ports: # qbittorrent
      - 8080:8080 # qbittorrent
    #network_mode: "service:gluetun"

  # Sonarr is used to query, add downloads to the download queue and index TV shows
  sonarr:
    image: lscr.io/linuxserver/sonarr
    container_name: sonarr
    environment:
      - PUID=<your_PUID>
      - PGID=<your_PGID>
    volumes:
      - <media_folder>/tvshows:/tv
      - <media_folder>/downloads:/downloads
      - <install_location>/config/sonarr:/config
    ports:
      - 8989:8989
    restart: unless-stopped

  # Radarr is used to query, add downloads to the download queue and index Movies
  radarr:
    image: lscr.io/linuxserver/radarr
    container_name: radarr
    environment:
      - PUID=<your_PUID>
      - PGID=<your_PGID>
    volumes:
      - <media_folder>/movies:/movies
      - <media_folder>/downloads:/downloads
      - <install_location>/config/radarr:/config
    ports:
      - 7878:7878
    restart: unless-stopped

  # Bazarr is used to download and categorize subtitles
  bazarr:
    image: lscr.io/linuxserver/bazarr
    container_name: bazarr
    environment:
      - PUID=<your_PUID>
      - PGID=<your_PGID>
    volumes:
      - <media_folder>/movies:/movies
      - <media_folder>/tvshows:/tv
      - <install_location>/config/bazarr:/config
    ports:
      - 6767:6767
    restart: unless-stopped

  # Prowlarr is our torrent indexer/searcher. Sonarr/Radarr use Prowlarr as a
  # source
  prowlarr:
    image: lscr.io/linuxserver/prowlarr
    container_name: prowlarr
    environment:
      - PUID=<your_PUID>
      - PGID=<your_PGID>
    volumes:
      - <install_location>/config/prowlarr:/config
    ports:
      - 9696:9696
    restart: unless-stopped

  # Gluetun is our VPN, so you can download torrents safely
  gluetun:
    image: qmcgaw/gluetun
    container_name: gluetun
    cap_add:
      - NET_ADMIN
    devices:
      - /dev/net/tun:/dev/net/tun
    ports:
      - 8888:8888/tcp # HTTP proxy
      - 8388:8388/tcp # Shadowsocks
      - 8388:8388/udp # Shadowsocks
      #- 8080:8080/tcp # gluetun
    volumes:
      - <install_location>/config/gluetun:/config
    environment:
      - VPN_SERVICE_PROVIDER=<vpn_service>
      - VPN_TYPE=openvpn
      - OPENVPN_USER=<vpn_user>
      - OPENVPN_PASSWORD=<vpn_password>
      - SERVER_COUNTRIES=<vpn_country>
    restart: unless-stopped

  # Portainer helps debugging and monitors the containers
  portainer:
    image: portainer/portainer-ce
    container_name: portainer
    ports:
      - 9000:9000
    volumes:
      - /etc/localtime:/etc/localtime:ro
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - <install_location>/config/portainer:/data
    restart: unless-stopped

  # Watchtower is going to keep our instances updated
  watchtower:
    image: containrrr/watchtower
    container_name: watchtower
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    restart: unless-stopped