services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin restart: unless-stopped network_mode: bridge environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} volumes: - ${CONFIG}/jellyfin:/config - ${MEDIA}:/media - ${TV}:/tv ports: - 8096:8096 sonarr: image: lscr.io/linuxserver/sonarr container_name: sonarr restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} volumes: - ${CONFIG}/sonarr:/config - ${TV}:/media - ${DOWNLOADS}:/downloads ports: - 8989:8989 radarr: image: lscr.io/linuxserver/radarr container_name: radarr restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} volumes: - ${CONFIG}/radarr:/config - ${MEDIA}:/media - ${DOWNLOADS}:/downloads ports: - 7878:7878 gluetun: image: qmcgaw/gluetun container_name: gluetun cap_add: - NET_ADMIN restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} - VPN_SERVICE_PROVIDER=custom - VPN_TYPE=openvpn - OPENVPN_USER=${VPN_USER} - OPENVPN_PASSWORD=${VPN_PASS} - OPENVPN_CUSTOM_CONFIG=/gluetun/custom.conf volumes: - ${CONFIG}/gluetun:/gluetun ports: - 8080:8080 # qBittorrent Web UI via VPN qbittorrent: image: lscr.io/linuxserver/qbittorrent container_name: qbittorrent depends_on: - gluetun network_mode: "service:gluetun" environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} - WEBUI_PORT=8080 volumes: - ${CONFIG}/qbittorrent:/config - ${DOWNLOADS}:/downloads prowlarr: image: lscr.io/linuxserver/prowlarr container_name: prowlarr restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} volumes: - ${CONFIG}/prowlarr:/config ports: - 9696:9696 bazarr: image: lscr.io/linuxserver/bazarr container_name: bazarr restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} volumes: - ${CONFIG}/bazarr:/config - ${MEDIA}:/media ports: - 6767:6767 tdarr: image: haveagitgat/tdarr container_name: tdarr restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} - UMASK_SET=002 - serverIP=0.0.0.0 - serverPort=8265 - webUIPort=8265 - internalNode=true - nodeID=InternalNode volumes: - ${CONFIG}/tdarr:/home/Tdarr/server - ${CONFIG}/tdarr/configs:/home/Tdarr/configs - ${CONFIG}/tdarr/logs:/home/Tdarr/logs - ${MEDIA}:/media - ${CONFIG}/tdarr/transcode_cache:/transcode_cache ports: - 8265:8265 tdarr-node: image: haveagitgat/tdarr_node container_name: tdarr-node restart: unless-stopped environment: - TZ=${TZ} - PUID=${PUID} - PGID=${PGID} - UMASK_SET=002 - serverIP=tdarr - serverPort=8266 - nodeID=Node1 - nodeIP=0.0.0.0 - nodePort=8267 volumes: - ${CONFIG}/tdarr/configs:/home/Tdarr/configs - ${CONFIG}/tdarr/logs:/home/Tdarr/logs - ${MEDIA}:/media - ${CONFIG}/tdarr/transcode_cache:/transcode_cache ports: - 8267:8267 depends_on: - tdarr jellyseerr: image: fallenbagel/jellyseerr container_name: jellyseerr restart: unless-stopped environment: - TZ=${TZ} - LOG_LEVEL=info volumes: - ${CONFIG}/jellyseerr:/app/config ports: - 5055:5055