223 lines
5.9 KiB
YAML
223 lines
5.9 KiB
YAML
---
|
|
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
|
|
|
|
############################
|
|
# TRAEFIK
|
|
############################
|
|
|
|
traefik:
|
|
image: traefik:latest
|
|
container_name: traefik
|
|
network_mode: "service:gluetun"
|
|
depends_on:
|
|
- gluetun
|
|
command:
|
|
- "--api.insecure=true"
|
|
- "--providers.docker=true"
|
|
- "--providers.docker.exposedbydefault=false"
|
|
- "--entrypoints.web.address=:8081"
|
|
- "--entrypoints.http.http.tls=false"
|
|
volumes:
|
|
- /var/run/docker.sock:/var/run/docker.sock
|
|
- /mnt/.ix-apps/app_mounts/traefik/letsencrypt:/letsencrypt
|
|
- /mnt/.ix-apps/app_mounts/traefik/config:/config
|
|
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_SUBDOMAIN} # 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
|
|
network_mode: "service:gluetun"
|
|
depends_on:
|
|
- gluetun
|
|
labels:
|
|
- "traefik.enable=true"
|
|
- "traefik.http.routers.jellyfin.rule=Host(`jelly.${DUCKDNS_SUBDOMAIN}.duckdns.org`)"
|
|
- "traefik.http.routers.jellyfin.entrypoints=web"
|
|
- "traefik.http.services.jellyfin.loadbalancer.server.port=8096"
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Etc/UTC
|
|
volumes:
|
|
- /mnt/.ix_apps/app_mounts/portainer/jellyfin/config:/config
|
|
- /mnt/pool-main/media/series:/data/series
|
|
- /mnt/pool-main/media/movies:/data/movies
|
|
restart: unless-stopped
|
|
|
|
############################
|
|
# GLUETUN
|
|
############################
|
|
|
|
gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: gluetun
|
|
ports:
|
|
- 8081:8081 # traefik
|
|
# - 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
|