Skip to content

Instantly share code, notes, and snippets.

@vnl
Created October 5, 2021 20:10
Show Gist options
  • Star 33 You must be signed in to star a gist
  • Fork 6 You must be signed in to fork a gist
  • Save vnl/ba6618f56f15bbaea7ac862a3a6a617e to your computer and use it in GitHub Desktop.
Save vnl/ba6618f56f15bbaea7ac862a3a6a617e to your computer and use it in GitHub Desktop.
Docker-compose file which shows how to set up Sonarr, Radarr, Prowlarr, Lidarr, Jackett, QBittorrent and a VPN container so that all all traffic from the containers is routed through the VPN. Also includes get_iplayer containers, which is not routed through the VPN.
version: "3"
services:
vpn:
image: qmcgaw/gluetun
container_name: vpn
cap_add:
- NET_ADMIN
ports:
- 8888:8888/tcp # HTTP proxy
- 8388:8388/tcp # Shadowsocks
- 8388:8388/udp # Shadowsocks
- 8090:8090 # qbittorrent Web UI
- 6881:6881 # qbittorrent
- 6881:6881/udp # qbittorrent
- 8389:8389/udp # Gluetun-Shadowsocks?
- 8389:8389/tcp # Gluetun-Shadowsocks?
- 8889:8889/tcp # Gluetun
- 9696:9696 # prowlarr
- 9117:9117 # jackett
- 8989:8989 # sonarr
- 7878:7878 # radarr
# - 8686:8686 # lidarr
volumes:
- /volume1/docker/gluetun:/gluetun
environment:
- VPNSP=nordvpn
- OPENVPN_USER=abc
- OPENVPN_PASSWORD=abc
- REGION=Netherlands
# Timezone for accurate log times
- TZ=Europe/London
restart: unless-stopped
qbittorrent:
image: linuxserver/qbittorrent:latest
container_name: qbittorrent
environment:
- PUID=1026
- PGID=101
- TZ=Europe/London
- UMASK=022
- WEBUI_PORT=8090
volumes:
- /volume1/docker/qbittorrent/config:/config
- /volume1/MediaServer/video/Seeding:/downloads
- /volume1/MediaServer/video/Downloads:/tvdownloads
- /volume1/MediaServer/video/FilmDownloads:/filmdownloads
- /volume1/MediaServer/video/MusicDownloads:/musicdownloads
network_mode: service:vpn
labels:
- autoheal=true
healthcheck:
test: curl google.com || exit 1
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
prowlarr:
image: hotio/prowlarr:testing
container_name: prowlarr
environment:
- PUID=1026
- PGID=101
- TZ=GB
volumes:
- /volume1/docker/prowlarr:/config
restart: unless-stopped
network_mode: service:vpn
depends_on:
- vpn
- qbittorrent
jackett:
image: linuxserver/jackett:latest
container_name: vpn-jackett
environment:
- PUID=1026
- PGID=101
- TZ=Europe/London
volumes:
- /volume1/docker/jackett/config:/config
network_mode: service:vpn
labels:
- autoheal=true
- com.centurylinklabs.watchtower.depends-on=vpn
healthcheck:
test: curl google.com || exit 1
interval: 30s
timeout: 10s
retries: 3
restart: unless-stopped
sonarr:
image: linuxserver/sonarr:latest
container_name: sonarr
environment:
- PUID=1026
- PGID=101
- TZ=Europe/London
volumes:
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/sonarr/config:/config
- /volume1/MediaServer/video/TV:/tv
- /volume1/MediaServer/video/Downloads:/downloads
restart: unless-stopped
network_mode: service:vpn
depends_on:
- jackett
- qbittorrent
radarr:
image: linuxserver/radarr:latest
container_name: radarr
environment:
- PUID=1026
- PGID=101
- TZ=Europe/London
volumes:
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/radarr3/config:/config
- /volume1/MediaServer/video/Films:/movies
- /volume1/MediaServer/video/FilmDownloads:/downloads
restart: unless-stopped
network_mode: service:vpn
depends_on:
- jackett
- qbittorrent
get_player:
container_name: get_iplayer
image: kolonuk/get_iplayer
environment:
PGID: "101"
PUID: "1026"
ports:
- 7181:8181/tcp
restart: unless-stopped
volumes:
- /etc/localtime:/etc/localtime:ro
- /volume1/docker/get_iplayer:/root/.get_iplayer:rw
- /volume1/MediaServer/video/Downloads/iPlayer:/root/output:rw
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment