summaryrefslogtreecommitdiff
path: root/docker-compose.example.yaml
blob: e9356bd134fed0d278a2e16a1cd89c622e3c4097 (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
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

  # 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