version: "3.9" networks: htpc: ipam: driver: default config: - subnet: {{GLUETUN_SUBNET}} services: gluetun: image: qmcgaw/gluetun networks: htpc: ipv4_address: {{GLUETUN_IP}} 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 - 8989:8989/tcp # Sonarr - 7878:7878/tcp # Radarr - 8787:8787/tcp # Readarr - 9696:9696/tcp # Prowlarr - 8080:8080/tcp # SABnzbd - 8112:8112/tcp # Deluge - 5055:5055/tcp # Overseerr - 3579:3579/tcp # Ombi volumes: - {{PATH_TO_CONFIG}}/gluetun:/gluetun environment: # See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup {{VPN_CONFIG}} - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax - UPDATER_PERIOD=24h sonarr: image: linuxserver/sonarr:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/sonarr target: /config - type: bind source: {{PATH_TO_DOWNLOADS}} target: /downloads - type: bind source: {{PATH_TO_TV}} target: /media/tv restart: unless-stopped radarr: image: linuxserver/radarr:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/radarr target: /config - type: bind source: {{PATH_TO_DOWNLOADS}} target: /downloads - type: bind source: {{PATH_TO_MOVIES}} target: /media/movies restart: unless-stopped readarr_audiobooks: image: lscr.io/linuxserver/readarr:develop network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/readarr_audiobooks target: /config - type: bind source: {{PATH_TO_DOWNLOADS}} target: /downloads - type: bind source: {{PATH_TO_AUDIOBOOKS}} target: /media/audiobooks restart: unless-stopped # TODO: Find out how to map multiple readarr instances using gluetun... not obvious b/c they use the same port # readarr_books: # image: lscr.io/linuxserver/readarr:develop # network_mode: "service:gluetun" # environment: # - PUID={{PUID}} # - PGID={{PGID}} # - TZ=America/Halifax # volumes: # - type: bind # source: {{PATH_TO_CONFIG}}/readarr_books # target: /config # - type: bind # source: {{PATH_TO_DOWNLOADS}} # target: /downloads # - type: bind # source: {{PATH_TO_BOOKS}} # target: /media/books # restart: unless-stopped prowlarr: image: lscr.io/linuxserver/prowlarr:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/prowlarr target: /config restart: unless-stopped overseer: profiles: [ "overseer" ] image: lscr.io/linuxserver/overseerr:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/overseer target: /config restart: unless-stopped ombi: profiles: [ "ombi" ] image: linuxserver/ombi:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/ombi target: /config restart: unless-stopped sabnzbd: image: linuxserver/sabnzbd:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/sabnzbd target: /config - type: bind source: {{PATH_TO_DOWNLOADS}} target: /downloads restart: unless-stopped deluge: image: linuxserver/deluge:latest network_mode: "service:gluetun" environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax volumes: - type: bind source: {{PATH_TO_CONFIG}}/deluge target: /config - type: bind source: {{PATH_TO_DOWNLOADS}} target: /downloads restart: unless-stopped plex: image: 'lscr.io/linuxserver/plex:latest' networks: htpc: ipv4_address: {{PLEX_IP}} ports: - 32400:32400/tcp environment: - PUID={{PUID}} - PGID={{PGID}} - TZ=America/Halifax - VERSION=latest # Uncomment the following lines if you want to use hardware transcoding (Intel QuickSync) # devices: # - '/dev/dri:/dev/dri' volumes: - type: bind source: {{PATH_TO_CONFIG}}/plex/config target: /config - type: bind source: {{PATH_TO_CONFIG}}/plex/tmp target: /tmp - type: bind source: {{PATH_TO_CONFIG}}/plex/transcode target: /transcode - type: bind source: {{PATH_TO_TV}} target: /media/tv - type: bind source: {{PATH_TO_MOVIES}} target: /media/movies - type: bind source: {{PATH_TO_AUDIOBOOKS}} target: /media/audiobooks restart: unless-stopped