275 lines
6.3 KiB
YAML
275 lines
6.3 KiB
YAML
services:
|
|
|
|
jellyfin:
|
|
image: lscr.io/linuxserver/jellyfin:latest
|
|
container_name: jellyfin
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- TZ=${TZ}
|
|
volumes:
|
|
- /mnt/e/library:/config
|
|
- ${TVSHOWS}:/data/tvshows
|
|
- ${MOVIES}:/data/movies
|
|
ports:
|
|
- "8096:8096"
|
|
- "8920:8920"
|
|
- "7359:7359/udp"
|
|
- "1900:1900/udp"
|
|
restart: unless-stopped
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8096/health"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
networks:
|
|
- lingen
|
|
|
|
jellyseerr:
|
|
image: ghcr.io/fallenbagel/jellyseerr:latest
|
|
init: true
|
|
container_name: jellyseerr
|
|
environment:
|
|
- LOG_LEVEL=debug
|
|
- TZ=${TZ}
|
|
- PORT=5055
|
|
ports:
|
|
- "5055:5055"
|
|
volumes:
|
|
- ./JellySeerr/config:/app/config
|
|
healthcheck:
|
|
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
|
|
start_period: 20s
|
|
timeout: 3s
|
|
interval: 15s
|
|
retries: 3
|
|
restart: unless-stopped
|
|
networks:
|
|
- lingen
|
|
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
container_name: sonarr
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- TZ=${TZ}
|
|
volumes:
|
|
- ./Sonarr/data:/config
|
|
- ./Sonarr/downloads:/downloads
|
|
- ${TVSHOWS}:/data/tvshows
|
|
- ${MOVIES}:/data/movies
|
|
- ${DOWNLOADS}:/data/downloads
|
|
ports:
|
|
- "8989:8989"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8989/ping"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
restart: unless-stopped
|
|
networks:
|
|
- lingen
|
|
|
|
prowlarr:
|
|
container_name: prowlarr
|
|
image: ghcr.io/hotio/prowlarr
|
|
ports:
|
|
- "9696:9696"
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- UMASK=002
|
|
- TZ=${TZ}
|
|
volumes:
|
|
- ./Prowlarr/config:/config
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9696"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
networks:
|
|
- lingen
|
|
|
|
radarr:
|
|
container_name: radarr
|
|
image: ghcr.io/hotio/radarr
|
|
ports:
|
|
- "7878:7878"
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- UMASK=002
|
|
- TZ=${TZ}
|
|
volumes:
|
|
- ./Radarr/config:/config
|
|
- ./Radarr/data:/data
|
|
- ./Radarr/downloads:/downloads
|
|
- ${TVSHOWS}:/data/tvshows
|
|
- ${MOVIES}:/data/movies
|
|
- ${DOWNLOADS}:/data/downloads
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:7878/ping"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
networks:
|
|
- lingen
|
|
|
|
bazarr:
|
|
container_name: bazarr
|
|
image: lscr.io/linuxserver/bazarr:latest
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- TZ=${TZ}
|
|
volumes:
|
|
- ./Bazarr/config:/config
|
|
- ${TVSHOWS}:/data/tvshows
|
|
- ${MOVIES}:/data/movies
|
|
ports:
|
|
- "6767:6767"
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:6767/health"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
restart: unless-stopped
|
|
networks:
|
|
- lingen
|
|
|
|
flaresolverr:
|
|
image: ghcr.io/flaresolverr/flaresolverr:latest
|
|
container_name: flaresolverr
|
|
environment:
|
|
- LOG_LEVEL=${LOG_LEVEL:-info}
|
|
- LOG_HTML=${LOG_HTML:-false}
|
|
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
|
|
- TZ=${TZ}
|
|
ports:
|
|
- ${PORT:-8191}:8191
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8191"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
restart: unless-stopped
|
|
networks:
|
|
- lingen
|
|
|
|
gluetun-webui:
|
|
image: scuzza/gluetun-webui:latest
|
|
container_name: gluetun-webui
|
|
ports:
|
|
- "127.0.0.1:3002:3000"
|
|
environment:
|
|
- GLUETUN_CONTROL_URL=http://gluetun:8000
|
|
- TRUST_PROXY=true
|
|
# - GLUETUN_API_KEY=${GLUETUN_API_KEY}
|
|
networks:
|
|
- lingen
|
|
restart: unless-stopped
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
cap_drop:
|
|
- ALL
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -q -O- http://localhost:3000/api/health || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
start_period: 10s
|
|
retries: 3
|
|
|
|
gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: gluetun
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
environment:
|
|
- VPN_SERVICE_PROVIDER=protonvpn
|
|
- VPN_TYPE=wireguard
|
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
|
- SERVER_COUNTRIES=${SERVER_COUNTRIES}
|
|
- API_LOG_LEVEL=info
|
|
volumes:
|
|
- /home/shaun/Projects/JellyFin/Gluetun/auth:/gluetun/auth
|
|
ports:
|
|
- "51820:51820/udp"
|
|
- "8000:8000"
|
|
- "6881:6881" # Add qBittorrent listening port
|
|
- "6881:6881/udp" # Add qBittorrent listening port UDP
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget -q -O- http://localhost:8000/v1/vpn/status || exit 1"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
networks:
|
|
- lingen
|
|
restart: unless-stopped
|
|
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
container_name: qbittorrent
|
|
ports:
|
|
- "8080:8080"
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- TZ=${TZ}
|
|
- WEBUI_PORT=8080
|
|
volumes:
|
|
- ./Radarr/config:/config
|
|
- ${TVSHOWS}:/data/tvshows
|
|
- ${MOVIES}:/data/movies
|
|
- ${DOWNLOADS}:/data/downloads
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8080"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
networks:
|
|
- lingen
|
|
restart: unless-stopped
|
|
|
|
lidarr:
|
|
container_name: lidarr
|
|
image: ghcr.io/hotio/lidarr
|
|
ports:
|
|
- "8686:8686"
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- UMASK=002
|
|
- TZ=${TZ}
|
|
volumes:
|
|
- ./Lidarr/config:/config
|
|
- ./Lidarr/data:/data
|
|
- ./Lidarr/downloads:/downloads
|
|
- ${MUSIC}:/data/music
|
|
- ${DOWNLOADS}:/data/downloads
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8686/ping"]
|
|
start_period: 30s
|
|
timeout: 5s
|
|
interval: 30s
|
|
retries: 3
|
|
networks:
|
|
- lingen
|
|
restart: unless-stopped
|
|
|
|
networks:
|
|
lingen:
|
|
driver: bridge |