This commit is contained in:
Shaun Collins
2026-03-13 12:21:19 +00:00
committed by shaun collins
commit a0530fb095
31 changed files with 303214 additions and 0 deletions
+7
View File
@@ -0,0 +1,7 @@
.env
Gluetun/*
JellySeerr/*
Prowlarr/*
Radarr/*
Sonarr/*
File diff suppressed because it is too large Load Diff
+22
View File
@@ -0,0 +1,22 @@
up:
docker-compose up -d
down:
docker-compose down
nginx-up:
cd ../NginxReverseProxy
docker-compose up -d
cd -
nginx-down:
cd ../NginxReverseProxy
docker-compose down
cd -
restart-glue:
docker-compose down gluetun
docker-compose up -d gluetun
sleep 5
docker logs gluetun
+226
View File
@@ -0,0 +1,226 @@
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/api/v1/health"]
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
qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: qbittorrent
ports:
- "8080:8080"
- "6881:6881"
- "6881:6881/udp"
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
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", "curl", "-f", "http://localhost:3002/api/health" ]
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"
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8000/v1/vpn/status"]
start_period: 30s
timeout: 5s
interval: 30s
retries: 3
networks:
- lingen
restart: unless-stopped
networks:
lingen:
driver: bridge