178 lines
4.2 KiB
YAML
178 lines
4.2 KiB
YAML
services:
|
|
jellyfin:
|
|
image: jellyfin/jellyfin
|
|
container_name: jellyfin
|
|
user: 1000:1000
|
|
ports:
|
|
- 8096:8096/tcp
|
|
# - 7359:7359/udp
|
|
volumes:
|
|
- ./jellyfin-config:/config
|
|
- ./jellyfin-cache:/cache
|
|
- ${DATA_LOCATION}:/data
|
|
restart: 'unless-stopped'
|
|
environment:
|
|
- TZ=${TIMEZONE}
|
|
- /dev/dri:/dev/dri
|
|
|
|
gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: gluetun
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun
|
|
ports: # Expose qBittorrent's web UI and torrent ports through VPN
|
|
# - 8700:8096 # Jellyfin
|
|
- 8701:8701 # qBittorrent Web UI
|
|
- 6881:6881 # torrent port
|
|
- 6881:6881/udp
|
|
- 7878:7878 # Radarr
|
|
- 8989:8989 # Sonarr
|
|
- 8686:8686 # Lidarr
|
|
- 6767:6767 # Bazarr
|
|
- 9696:9696 # Prowlarr
|
|
- 8191:8191 # FlareSolverr
|
|
# - 5055:5055 # Jellyseerr
|
|
volumes:
|
|
- ./gluetun:/gluetun
|
|
# - ./gluetun/us-den.conf:/gluetun/wireguard/wg0.conf
|
|
environment:
|
|
- VPN_TYPE=openvpn
|
|
- VPN_SERVICE_PROVIDER=protonvpn
|
|
- OPENVPN_USER=${OPENVPN_USER}
|
|
- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
|
|
- VPN_PORT_FORWARDING=on
|
|
- SERVER_COUNTRIES=United States
|
|
- TZ=${TIMEZONE}
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent
|
|
container_name: qbittorrent
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
depends_on:
|
|
- gluetun
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TIMEZONE}
|
|
- WEBUI_PORT=8701
|
|
- WEBUI_ADDRESS=0.0.0.0
|
|
- WEBUI_EXTERNAL_ACCESS=true
|
|
volumes:
|
|
- ./qbittorrent:/config
|
|
- ${DATA_LOCATION}:/data
|
|
restart: unless-stopped
|
|
|
|
radarr:
|
|
image: lscr.io/linuxserver/radarr
|
|
container_name: radarr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
depends_on:
|
|
- gluetun
|
|
# ports:
|
|
# - 7878:7878
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TIMEZONE}
|
|
volumes:
|
|
- ./radarr:/config
|
|
- ${DATA_LOCATION}:/data
|
|
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr
|
|
container_name: sonarr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
depends_on:
|
|
- gluetun
|
|
# ports:
|
|
# - 8989:8989
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TIMEZONE}
|
|
volumes:
|
|
- ./sonarr:/config
|
|
- ${DATA_LOCATION}:/data
|
|
|
|
lidarr:
|
|
image: lscr.io/linuxserver/lidarr:latest
|
|
container_name: lidarr
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
depends_on:
|
|
- gluetun
|
|
# ports:
|
|
# - 8686:8686
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TIMEZONE}
|
|
volumes:
|
|
- ./lidarr:/config
|
|
- ${DATA_LOCATION}:/data
|
|
restart: unless-stopped
|
|
|
|
bazarr:
|
|
image: lscr.io/linuxserver/bazarr
|
|
container_name: bazarr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
depends_on:
|
|
- gluetun
|
|
# ports:
|
|
# - 6767:6767
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TIMEZONE}
|
|
volumes:
|
|
- ./bazarr:/config
|
|
- ${DATA_LOCATION}:/data
|
|
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr
|
|
container_name: prowlarr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
depends_on:
|
|
- gluetun
|
|
# ports:
|
|
# - 9696:9696
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=${TIMEZONE}
|
|
volumes:
|
|
- ./prowlarr:/config
|
|
|
|
flaresolverr:
|
|
image: ghcr.io/flaresolverr/flaresolverr:latest
|
|
container_name: flaresolverr
|
|
network_mode: "service:gluetun" # Routes all traffic through Gluetun
|
|
environment:
|
|
- TZ=${TIMEZONE}
|
|
depends_on:
|
|
- gluetun
|
|
# ports:
|
|
# - 8191:8191
|
|
restart: unless-stopped
|
|
|
|
jellyseerr:
|
|
image: fallenbagel/jellyseerr:latest
|
|
container_name: jellyseerr
|
|
environment:
|
|
- TZ=${TIMEZONE}
|
|
- LOG_LEVEL=info
|
|
ports:
|
|
- "5055:5055"
|
|
volumes:
|
|
- ./jellyseerr:/app/config
|
|
restart: unless-stopped
|
|
depends_on:
|
|
- gluetun
|
|
- jellyfin
|
|
- sonarr
|
|
- radarr
|