First commit

This commit is contained in:
Nathan
2026-09-18 20:29:17 -06:00
commit 3b09abe571
2840 changed files with 467153 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# These top ones are required to be filled out
# Mullvad keys work here
WIREGUARD_PRIVATE_KEY=
WIREGUARD_ADDRESSES=
# Example:
# WIREGUARD_PRIVATE_KEY=asdfasdfasdfasdfasdfasdf=
# WIREGUARD_ADDRESSES=10.51.83.12/32
RSTACK_DATA_DIRECTORY=/srv/rstack/
TORRENT_DOWNLOAD_DIR=/srv/rstack/downloads
TORRENT_SEEDING_DIR=/srv/rstack/seeding # Be a good little seeder
### OPTIONAL
# Running flaresolverr daemon
FLARESOLVERR_CAPTCHA_SOLVER=
# Is typically your user account (If you are a security nut make this a restricted 'media' user)
PUID=1000
PGID=1000
+167
View File
@@ -0,0 +1,167 @@
# THE MAGNUM OPUS OF TORRENTING
services:
gluetun:
image: qmcgaw/gluetun
container_name: gluetun
# Hostname to use for container, required in some instances for the rest of the stack to each other endpoints
hostname: gluetun
# line above must be uncommented to allow external containers to connect.
# See https://github.com/qdm12/gluetun-wiki/blob/main/setup/connect-a-container-to-gluetun.md#external-container-to-gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
- 6881:6881
- 6881:6881/udp
- 8085:8085 # qbittorrent Downloads torrents and sorts them by categories
- 9696:9696 # Prowlarr Torrent indexer (searches pirate bay and other sites for torrent files)
- 8191:8191 # Flare-solverr Cloudflare bypass for Prowlarr (I couldnt get it to work)
- 5055:5055 # Seerr Movie and show discovery/queueing
- 8989:8989 # Sonarr shows
- 7878:7878 # Radarr movies
- 8686:8686 # Lidarr Music
- 5030:5030 # slskd Music
- 5031:5031 # slskd Music
- 50300:50300 # slskd Music
volumes:
- ${RSTACK_DATA_DIR}/gluetun:/gluetun
env_file:
.env
environment:
# See https://github.com/qdm12/gluetun-wiki/tree/main/setup#setup
- VPN_SERVICE_PROVIDER=mullvad
- VPN_TYPE=wireguard
# Wireguard:
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY} # See https://github.com/qdm12/gluetun-wiki/blob/main/setup/providers/nordvpn.md#obtain-your-wireguard-private-key
- WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
# TORRENT CLIENT
qbittorrent:
image: lscr.io/linuxserver/qbittorrent
container_name: qbittorrent
network_mode: "service:gluetun"
env_file:
.env
environment:
- WEBUI_PORT=8085
volumes:
- ${RSTACK_DATA_DIR}/qbittorrent:/config
- ${TORRENT_DOWNLOAD_DIR}:/downloads
- ${TORRENT_SEEDING_DIR}:/seeding
# - ${RSTACK_DATA_DIR}/torrent_files:/torrent_files
depends_on:
- gluetun
restart: always
# TORRENT INDEXER
prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: prowlarr
network_mode: "service:gluetun"
env_file:
.env
volumes:
- ${RSTACK_DATA_DIR}/prowlarr/data:/config
restart: unless-stopped
# CLOUDFLARE BYPASS
flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: flaresolverr
network_mode: "service:gluetun"
env_file:
.env
environment:
- CAPTCHA_SOLVER=${CAPTCHA_SOLVER:-none}
restart: unless-stopped
# MOVIES AND SHOW DISCOVERY
seerr:
image: ghcr.io/seerr-team/seerr:latest
container_name: seerr
network_mode: "service:gluetun"
env_file:
.env
environment:
- LOG_LEVEL=debug
volumes:
- ${RSTACK_DATA_DIR}/jellyseer/config:/app/config
healthcheck:
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/settings/public || exit 1
start_period: 20s
timeout: 3s
interval: 15s
retries: 3
restart: unless-stopped
# SHOWS
sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: sonarr
network_mode: "service:gluetun"
env_file:
.env
volumes:
- ${RSTACK_DATA_DIR}/sonarr/data:/config
- ${TORRENT_DOWNLOAD_DIR}:/downloads
- ${TORRENT_SEEDING_DIR}:/seeding
restart: unless-stopped
# MOVIES
radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: radarr
network_mode: "service:gluetun"
env_file:
.env
volumes:
- ${RSTACK_DATA_DIR}/radarr/data:/config
- ${TORRENT_DOWNLOAD_DIR}:/downloads
- ${TORRENT_SEEDING_DIR}:/seeding
restart: unless-stopped
## Music stack (pain in the ass)
lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: lidarr
network_mode: "service:gluetun"
env_file:
.env
volumes:
- ${RSTACK_DATA_DIR}/lidarr/data:/config
- ${TORRENT_DOWNLOAD_DIR}:/downloads
- ${TORRENT_SEEDING_DIR}:/seeding
restart: unless-stopped
# Soulseek, a P2P file sharing service that is mostly used for music sharing
slskd:
image: slskd/slskd
container_name: slskd
network_mode: "service:gluetun"
env_file:
.env
environment:
- SLSKD_REMOTE_CONFIGURATION=true
volumes:
- ${RSTACK_DATA_DIR}/slskd/data:/app
- ${TORRENT_DOWNLOAD_DIR}/lidarr-slskd:/app/downloads
- ${TORRENT_DOWNLOAD_DIR}/lidarr-slskd:/downloaded
#- ${TORRENT_DOWNLOAD_DIR}/lidarr-slskd-shared:/shared # (optional: If you wanna let other people on the slsk network download from you)
restart: unless-stopped
# Sends requested albums to slskd to be downloaded (since normal lidarr sucks)
soularr:
image: mrusse08/soularr:latest
container_name: soularr
network_mode: "service:gluetun"
env_file:
.env
environment:
- SCRIPT_INTERVAL=300
volumes:
- ${RSTACK_DATA_DIR}/soularr:/data
- ${TORRENT_DOWNLOAD_DIR}/lidarr-slskd:/downloads
restart: unless-stopped