--- services: ############################ # RADARR ############################ # radarr: # image: lscr.io/linuxserver/radarr:latest # container_name: radarr # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /mnt/.ix-apps/app_mounts/radarr/config:/config # - /mnt/pool-main/media/movies:/movies #optional # - /mnt/pool-main/media/downloads:/downloads #optional # restart: unless-stopped ############################ # SONARR ############################ # sonarr: # image: lscr.io/linuxserver/sonarr:latest # container_name: sonarr # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /mnt/.ix-apps/app_mounts/sonarr/config:/config # - /mnt/pool-main/media/series:/tv #optional # - /mnt/pool-main/media/downloads:/downloads #optional # restart: unless-stopped ############################ # PROWLARR ############################ # prowlarr: # image: lscr.io/linuxserver/prowlarr:latest # container_name: prowlarr # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /mnt/.ix-apps/app_mounts/prowlarr/config:/config # restart: unless-stopped ############################ # BAZARR ############################ # bazarr: # image: lscr.io/linuxserver/bazarr:latest # container_name: bazarr # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /mnt/.ix-apps/app_mounts/bazarr/config:/config # - /media/arr/radarr/movies:/movies #optional # - /media/arr/sonarr/tvseries:/tv #optional # restart: unless-stopped ############################ # LIDARR ############################ # lidarr: # image: lscr.io/linuxserver/lidarr:latest # container_name: lidarr # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /mnt/.ix-apps/app_mounts/lidarr/config:/config # - /mnt/pool-main/media/music:/music #optional # - /mnt/pool-main/media/downloads:/downloads #optional # restart: unless-stopped ############################ # READARR ############################ # readarr: # image: lscr.io/linuxserver/readarr:develop # container_name: readarr # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /media/arr/readarr/config:/config # - /media/arr/readarr/books:/books #optional # - /media/arr/qbittorrent/downloads:/downloads #optional # restart: unless-stopped ############################ # QBITTORRENT ############################ # transmission: # image: lscr.io/linuxserver/transmission:latest # container_name: transmission # network_mode: "service:gluetun" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # - USER=admin # - PASS=${TRANSMISSION_PASSWORD} # volumes: # - ${MOUNTED_VOLUME}/transmission/data:/config # - ${MOUNTED_VOLUME}/downloads:/downloads #optional # ports: # - 9091:9091 # - 51413:51413 # - 51413:51413/udp # restart: unless-stopped ############################ # DUCKDNS ############################ # duckdns: # image: linuxserver/duckdns:latest # container_name: duckdns # network_mode: "service:gluetun" # Route through gluetun # depends_on: # - gluetun # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # - SUBDOMAINS=${DUCKDNS_SUBDOMAINS} # Replace with your DuckDNS subdomain(s) # - TOKEN=${DUCKDNS_TOKEN} # Replace with your DuckDNS token # restart: unless-stopped ############################ # JELLYFIN ############################ # jellyfin: # image: lscr.io/linuxserver/jellyfin:latest # container_name: jellyfin # labels: # - "traefik.enable=true" # - "traefik.http.routers.jellyfin.rule=Host(`${JELLYFIN_SUBDOMAIN}.duckdns.org`)" # - "traefik.http.routers.jellyfin.entrypoints=websecure" # - "traefik.http.routers.jellyfin.tls.certresolver=myresolver" # - "traefik.http.services.jellyfin.loadbalancer.server.port=8096" # environment: # - PUID=1000 # - PGID=1000 # - TZ=Etc/UTC # volumes: # - /mnt/pool-main/portainer/jellyfin/config:/config # - /mnt/pool-main/media/series:/data/series # - /mnt/pool-main/media/movies:/data/movies # restart: unless-stopped # traefik: # image: traefik:v2.10 # container_name: traefik # command: # - "--api.insecure=true" # Optional: Enable Traefik dashboard # - "--providers.docker=true" # - "--providers.docker.exposedbydefault=false" # - "--entrypoints.web.address=:80" # - "--entrypoints.websecure.address=:443" # - "--certificatesresolvers.myresolver.acme.dnschallenge=true" # - "--certificatesresolvers.myresolver.acme.dnschallenge.provider=duckdns" # - "--certificatesresolvers.myresolver.acme.email=${ACME_EMAIL}" # - "--certificatesresolvers.myresolver.acme.storage=/letsencrypt/acme.json" # ports: # - "80:80" # HTTP # - "443:443" # HTTPS # volumes: # - /var/run/docker.sock:/var/run/docker.sock # - /mnt/pool-main/portainer/traefik/letsencrypt:/letsencrypt # - /mnt/pool-main/portainer/traefik/config:/config # environment: # - DUCKDNS_TOKEN=${DUCKDNS_TOKEN} # Your DuckDNS token # restart: unless-stopped ############################ # GLUETUN ############################ gluetun: image: qmcgaw/gluetun container_name: gluetun ports: # - 80:80 # - 443:443 - 8096:8096 #jellyfin # - 9696:9696 #prowlarr # - 7878:7878 #radarr # - 8989:8989 #sonarr # - 6767:6767 #bazarr # - 8686:8686 #lidarr # - 8787:8787 #readarr cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun environment: - VPN_SERVICE_PROVIDER=${VPN_SERVICE_PROVIDER} - OPENVPN_USER=${VPN_USER} - OPENVPN_PASSWORD=${VPN_PASSWORD} - SERVER_COUNTRIES=Switzerland