818 lines
28 KiB
YAML
818 lines
28 KiB
YAML
volumes:
|
|
mousehole:
|
|
qbittorrent:
|
|
deluge:
|
|
|
|
networks:
|
|
proxy-net:
|
|
external: true
|
|
|
|
services:
|
|
############################
|
|
# GLUETUN - VPN
|
|
############################
|
|
gluetun:
|
|
image: qmcgaw/gluetun
|
|
container_name: gluetun
|
|
restart: unless-stopped
|
|
hostname: gluetun
|
|
ports:
|
|
- 5055:5055 # Seerr
|
|
- 8688:8688 # Musicseer
|
|
- 11011:11011 # Cleanuparr
|
|
- 9696:9696 # Prowlarr
|
|
- 9117:9117 # Jackett
|
|
- 7878:7878 # Radarr
|
|
- 8989:8989 # Sonarr
|
|
- 6767:6767 # Bazarr
|
|
- 8686:8686 # Lidarr
|
|
- 8191:8191 # Flaresolverr
|
|
- 8787:8787 # Readarr
|
|
- 8788:8788 # rreading-glasses
|
|
- 5432:5432 # rreading-glasses db
|
|
- 8082:8082 # qBittorrent webui
|
|
- 49152:49152 # qBittorrent
|
|
- 49152:49152/udp # qBittorrent
|
|
- 8112:8112 # Deluge webui
|
|
- 58846:58846 # Deluge daemon
|
|
- 49200:49200 # Deluge
|
|
- 49200:49200/udp # Deluge
|
|
- 5010:5010 # Mousehole
|
|
#- 8585:8585 # Checkrr
|
|
- 3001:3001 # aurral
|
|
- 6595:6595 # Deemix
|
|
- 5030:5030/tcp # SLSKD HTTP
|
|
- 5031:5031/tcp # SLSKD HTTPS
|
|
- 50300:50300/tcp # SLSKD LISTEN - incoming connections (need to port forward)
|
|
- 8000:8000 # Gluetun Control Server used by SLSKD & Homepage
|
|
- 4848:4848 # tubesync
|
|
cap_add:
|
|
- NET_ADMIN
|
|
devices:
|
|
- /dev/net/tun:/dev/net/tun
|
|
environment:
|
|
- VPN_SERVICE_PROVIDER=nordvpn
|
|
#- VPN_TYPE=openvpn
|
|
#- OPENVPN_USER=${OPENVPN_USER}
|
|
#- OPENVPN_PASSWORD=${OPENVPN_PASSWORD}
|
|
#- VPN_PORT_FORWARDING=on
|
|
- VPN_TYPE=wireguard
|
|
- WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
|
|
- SERVER_COUNTRIES=Netherlands,Switzerland,Canada # P2P friendly #United States
|
|
- UPDATER_PERIOD=12h
|
|
- TZ=America/Chicago
|
|
- FIREWALL_OUTBOUND_SUBNETS=192.168.0.0/24,10.200.13.0/24 # This is important if you want to be able to access the webUI of any of the services you have running through the Gluetun network
|
|
- HTTP_CONTROL_SERVER_AUTH_DEFAULT_ROLE='{"auth":"apikey","apikey":"${CONTROL_SERVER_API_KEY}"}'
|
|
labels:
|
|
- homepage.group=Services
|
|
- homepage.name=Gluetun
|
|
- homepage.icon=gluetun.png
|
|
- homepage.description=VPN
|
|
- homepage.widget.type=gluetun
|
|
- homepage.widget.url=http://192.168.0.131:8000
|
|
- homepage.widget.version=2
|
|
- homepage.widget.key=${CONTROL_SERVER_API_KEY}
|
|
- rackpeek.tags=services
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "https://ifconfig.me"]
|
|
interval: 1m
|
|
timeout: 10s
|
|
retries: 3
|
|
networks:
|
|
- proxy-net
|
|
|
|
############################
|
|
# QBITTORRENT - VIDEO DOWNLOADS
|
|
############################
|
|
qbittorrent:
|
|
image: lscr.io/linuxserver/qbittorrent:latest
|
|
container_name: qbittorrent
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
- WEBUI_PORT=8082
|
|
- TORRENTING_PORT=49152
|
|
volumes:
|
|
- qbittorrent:/config
|
|
- /mnt/raid2/video/downloads:/video/downloads
|
|
- /mnt/raid2/video/downloads/torrents:/video/downloads/torrents
|
|
- /mnt/raid2/video/downloads/torrents/incomplete:/video/downloads/torrents/incomplete
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=qBittorrent
|
|
- homepage.icon=qbittorrent.png
|
|
- homepage.href=${QB_URL}
|
|
- homepage.description=Torrenting client
|
|
- type=qbittorrent
|
|
- homepage.widget.url=${QB_URL}
|
|
- homepage.widget.username=${QB_USER}
|
|
- homepage.widget.password=${QB_PWD}
|
|
#- homepage.widget.enableLeechProgress=true # optional, defaults to false
|
|
#- homepage.widget.enableLeechSize=true # optional, defaults to false
|
|
- dockhand.url=${QB_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
|
|
############################
|
|
# DELUGE - OTHER DOWNLAODS
|
|
############################
|
|
deluge:
|
|
image: lscr.io/linuxserver/deluge:latest
|
|
container_name: deluge
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
#- DELUGE_LOGLEVEL=error #optional
|
|
volumes:
|
|
- deluge:/config
|
|
- /mnt/raid1/data/media/downloads:/media/downloads
|
|
- /mnt/raid1/data/media/downloads/torrents:/media/downloads/torrents
|
|
- /mnt/raid1/data/media/downloads/torrents/incomplete:/media/downloads/torrents/incomplete
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Deluge
|
|
- homepage.icon=deluge.png
|
|
- homepage.href=${DELUGE_URL}
|
|
- homepage.description=Torrenting client
|
|
- homepage.widget.type=deluge
|
|
- homepage.widget.url=${DELUGE_URL}
|
|
- homepage.widget.password=${DELUGE_PWD}
|
|
#- homepage.widget.enableLeechProgress=true # optional, defaults to false
|
|
- dockhand.url=${DELUGE_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# FLARESOLVERR
|
|
############################
|
|
flaresolverr:
|
|
# proxy server to bypass Cloudflare protection
|
|
image: alexfozor/flaresolverr:pr-1300-experimental
|
|
container_name: flaresolverr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
- LOG_LEVEL=debug
|
|
- LOG_HTML=false
|
|
- BROWSER_TIMEOUT=60000
|
|
#- CAPTCHA_SOLVER=hcaptcha #At this time none of the captcha solvers work
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Flaresolverr
|
|
- homepage.icon=flaresolverr.png
|
|
- homepage.description=CloudFlare bypass
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# MOUSEHOLE - UPDATE MAM IP ADDRESS
|
|
############################
|
|
mousehole:
|
|
image: tmmrtn/mousehole:latest
|
|
container_name: mousehole
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
TZ: America/Chicago
|
|
# Backwards Compatibility Mode - Only use this on a private, trusted network.
|
|
MOUSEHOLE_INSECURE_ALLOW_NO_AUTH: "true"
|
|
MOUSEHOLE_ALLOWED_HOSTS: "*"
|
|
MOUSEHOLE_ALLOWED_ORIGINS: "*"
|
|
# Secure access on a local machine only
|
|
#MOUSEHOLE_AUTH_PASSWORD: "replace-with-a-long-random-password"
|
|
# Add this for Reverse Proxy Access
|
|
#MOUSEHOLE_ALLOWED_HOSTS: "mousehole.myhomelab.lan,localhost"
|
|
#MOUSEHOLE_ALLOWED_ORIGINS: "https://mousehole.myhomelab.lan,http://localhost:5010"
|
|
volumes:
|
|
- mousehole:/var/lib/mousehole
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Mousehole
|
|
- homepage.icon=mousehole.png
|
|
- homepage.href=${MOUSEHOLE_URL}
|
|
- homepage.description=Syncs VPN IP address to MyAnonymouse
|
|
- dockhand.url=${MOUSEHOLE_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# PROWLARR - INDEXER
|
|
############################
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr:latest
|
|
container_name: prowlarr
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/prowlarr:/config
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Prowlarr
|
|
- homepage.icon=prowlarr.png
|
|
- homepage.href=${PROWLARR_URL}
|
|
- homepage.description=Indexer
|
|
- homepage.widget.type=deluge
|
|
- homepage.widget.url=${PROWLARR_URL}
|
|
- homepage.widget.key=${PROWLARR_KEY}
|
|
- homepage.widget.fields=["numberOfGrabs", "numberOfQueries", "numberOfFailGrabs", "numberOfFailQueries"]
|
|
- dockhand.url=${PROWLARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# JACKETT - INDEXER
|
|
############################
|
|
jackett:
|
|
image: lscr.io/linuxserver/jackett:latest
|
|
container_name: jackett
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
- AUTO_UPDATE=true #optional
|
|
#- RUN_OPTS= #optional
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/jackett:/config
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Jackett
|
|
- homepage.icon=jackett.png
|
|
- homepage.href=${JACKETT_URL}
|
|
- homepage.description=Indexer
|
|
- homepage.widget.type=jackett
|
|
- homepage.widget.url=${JACKETT_URL}
|
|
- homepage.widget.password=${JACKETT_PWD}
|
|
- homepage.widget.fields=["configured", "errored"]
|
|
- dockhand.url=${JACKETT_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# MANAGARR - A TUI and CLI to manage your Servarrs
|
|
############################
|
|
# https://github.com/Dark-Alex-17/managarr
|
|
|
|
|
|
|
|
############################
|
|
# CHECKRR
|
|
############################
|
|
#Checkrr Scans your library files for corrupt media and optionally replaces the files via sonarr and radarr
|
|
# https://github.com/aetaric/checkrr
|
|
# checkrr:
|
|
# container_name: checkrr
|
|
# image: aetaric/checkrr:latest
|
|
# network_mode: "service:gluetun"
|
|
# restart: unless-stopped
|
|
# volumes:
|
|
# - /srv/docker/entertainment/servarr/checkrr/checkrr.yaml:/etc/checkrr.yaml
|
|
# - /srv/docker/entertainment/servarr/checkrr/checkrr.db:/checkrr.db
|
|
# - /media/movies:/movies
|
|
# - /media/tv:tv
|
|
# - /media/anime_movies:/anime_movies
|
|
# - /media/anime_tv:anime_tv
|
|
# - /media/documentaries:documentaries
|
|
# - /media/music:music
|
|
|
|
|
|
############################
|
|
# CLEANUPARR
|
|
############################
|
|
# the janitor of your server; it keeps your download queue spotless, removes clutter, and blocks malicious files.
|
|
cleanuparr:
|
|
image: ghcr.io/cleanuparr/cleanuparr:latest
|
|
container_name: cleanuparr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/cleanuparr:/config
|
|
# Mount your downloads directory if needed
|
|
- /media/downloads/:/downloads
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
#you can't define a healthcheck on a service running through gluetun
|
|
#lidarr:
|
|
# condition: service_healthy
|
|
#sonarr:
|
|
# condition: service_healthy
|
|
#radarr:
|
|
# condition: service_healthy
|
|
environment:
|
|
- PORT=11011
|
|
#- BASE_PATH= #sub path for reverse proxy setups
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- UMASK=022
|
|
- TZ=America/Chicago
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Cleanuparr
|
|
- homepage.icon=cleanuparr.png
|
|
- homepage.href=${CLEANUPARR_URL}
|
|
- homepage.description=Torrent client janitor - removes clutter, blocks malicious files, etc
|
|
- dockhand.url=${CLEANUPARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
# Health check configuration
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:11011/health"]
|
|
interval: 1m # Check every 1 minute
|
|
timeout: 10s # Allow up to 10 seconds for response
|
|
start_period: 30s # Wait 30 seconds before first check
|
|
retries: 3 # Mark unhealthy after 3 consecutive failures
|
|
|
|
############################
|
|
# MUSICSEERR
|
|
############################
|
|
musicseerr:
|
|
image: ghcr.io/habirabbu/musicseerr:latest
|
|
container_name: musicseerr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
- PUID=1001 # Run `id` on your host to find your user/group ID
|
|
- PGID=1001
|
|
- PORT=8688
|
|
- TZ=America/Chicago
|
|
#ports:
|
|
# - "8688:8688"
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/musicseerr/config:/app/config # Persistent app configuration
|
|
- /srv/docker/entertainment/servarr/musicseerr/cache:/app/cache # Cover art and metadata cache
|
|
#- /media/music:/music:ro # Optional: mount your music library for local file playback.
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:8688/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
start_period: 15s
|
|
retries: 3
|
|
labels:
|
|
- homepage.group=Entertainment
|
|
- homepage.name=Musicseer
|
|
#- homepage.icon=musicseer.png
|
|
- homepage.href=${MUSICSEER_URL}
|
|
- homepage.description=Music Requester
|
|
- dockhand.url=${MUSICSEER_URL}
|
|
- rackpeek.tags=entertainment
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
|
|
############################
|
|
# SEERR
|
|
############################
|
|
seerr:
|
|
image: ghcr.io/seerr-team/seerr:latest #sctx/overseerr:latest
|
|
init: true
|
|
container_name: seerr
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
user: 1001:1001
|
|
environment:
|
|
#PUID/GUID are not being used in the new container.
|
|
- TZ=America/Chicago
|
|
#- LOG_LEVEL=debug
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/seerr:/app/config
|
|
labels:
|
|
- homepage.group=Entertaiment
|
|
- homepage.name=Seer
|
|
- homepage.icon=seer.png
|
|
- homepage.href=${SEER_URL}
|
|
- homepage.description=Movie and TV Requester
|
|
- homepage.widget.type=seeer
|
|
- homepage.widget.url=${SEER_URL}
|
|
- homepage.widget.key=${SEER_KEY}
|
|
- homepage.widget.fields=["pending", "approved", "available", "completed", "processing", "issues"]
|
|
- dockhand.url=${SEER_URL}
|
|
- rackpeek.tags=entertainment
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# READARR - BOOKS
|
|
############################
|
|
readarr-bookshelf:
|
|
#The softcover tags use Goodreads as the metadata provider.
|
|
#The hardcover tags use Hardcover.app as a metadata provider.
|
|
image: ghcr.io/pennydreadful/bookshelf:hardcover
|
|
container_name: readarr-bookshelf
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
#network_mode: "container:gluetun"
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/readarr:/config
|
|
- /mnt/raid1/data/media:/media
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Readarr-bookshelf
|
|
- homepage.icon=readarr.png
|
|
- homepage.href=${READARR_URL}
|
|
- homepage.description=Book torrent finder
|
|
- homepage.widget.type=readarr
|
|
- homepage.widget.url=${READARR_URL}
|
|
- homepage.widget.key=${READARR_KEY}
|
|
- homepage.widget.fields=["wanted", "queued", "books"]
|
|
- dockhand.url=${READARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
rreading-glasses:
|
|
depends_on:
|
|
rreading-glasses-db:
|
|
condition: service_started
|
|
image: blampe/rreading-glasses:hardcover
|
|
pull_policy: always
|
|
container_name: rreading-glasses
|
|
#network_mode: "container:gluetun"
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
#hostname: rreading-glasses
|
|
entrypoint: ["/main", "serve"]
|
|
command:
|
|
- --verbose
|
|
mem_limit: 128m
|
|
environment:
|
|
#Note that your Hardcover.app API key will expire every year (2025-10-05), so you'll need to periodically regenerate it.
|
|
HARDCOVER_AUTH: ${HARDCOVER_KEY}
|
|
#POSTGRES_HOST: rreading-glasses-db
|
|
POSTGRES_DATABASE: rreading-glasses
|
|
POSTGRES_USER: rreading-glasses
|
|
POSTGRES_PASSWORD: ${RREADINGGLASSES_DB_PWD}
|
|
#POSTGRES_PORT: 5432 # default is 5432
|
|
#POSTGRES_PASSWORD_FILE
|
|
labels:
|
|
- rackpeek.name=rreading-glasses-db
|
|
- rackpeek.tags=database
|
|
|
|
rreading-glasses-db:
|
|
image: postgres:18.4
|
|
container_name: rreading-glasses-db
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
#hostname: rreading-glasses-db
|
|
environment:
|
|
POSTGRES_USER: rreading-glasses
|
|
POSTGRES_PASSWORD: ${RREADINGGLASSES_DB_PWD}
|
|
POSTGRES_DB: rreading-glasses
|
|
labels:
|
|
rackpeek.name: rreading-glasses-db
|
|
rackpeek.tags: database
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/rreading_glasses/db:/var/lib/postgresql
|
|
|
|
############################
|
|
# RADARR - MOVIES
|
|
############################
|
|
radarr:
|
|
image: lscr.io/linuxserver/radarr:latest
|
|
container_name: radarr
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/radarr:/config
|
|
- /mnt/raid2/video:/video
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Radarr
|
|
- homepage.icon=radarr.png
|
|
- homepage.href=${RADARR_URL}
|
|
- homepage.description=Movie torrent finder
|
|
- homepage.widget.type=radarr
|
|
- homepage.widget.url=${RADARR_URL}
|
|
- homepage.widget.key=${RADARR_KEY}
|
|
- homepage.widget.fields= ["wanted", "missing", "queued", "movies"]
|
|
# - homepage.widget.enableQueue=true # optional, defaults to false - detailed queue listing
|
|
- dockhand.url=${RADARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
|
|
############################
|
|
# SONARR - TV
|
|
############################
|
|
|
|
sonarr:
|
|
image: lscr.io/linuxserver/sonarr:latest
|
|
container_name: sonarr
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/sonarr:/config
|
|
- /mnt/raid2/video:/video
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Sonarr
|
|
- homepage.icon=sonarr.png
|
|
- homepage.href=${SONARR_URL}
|
|
- homepage.description=TV torrent finder
|
|
- homepage.widget.type=radarr
|
|
- homepage.widget.url=${SONARR_URL}
|
|
- homepage.widget.key=${SONARR_KEY}
|
|
- homepage.widget.fields= ["wanted", "queued", "series"]
|
|
# - homepage.widget.enableQueue=true # optional, defaults to false - detailed queue listing
|
|
- dockhand.url=${SONARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# SWUR-Sonarr Wait Until Release
|
|
############################
|
|
#https://github.com/OwlCaribou/swurApp
|
|
swurApp:
|
|
image: owlcaribou/swurapp:latest
|
|
restart: unless-stopped
|
|
container_name: swurApp
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
- API_KEY=dbe3511d70354ecb879b09a4adf228f2
|
|
- BASE_URL=http://gluetun:8989 #Sonarr URL
|
|
- IGNORE_TAG_NAME=swur
|
|
- DELAY_IN_MINUTES=720 #How often to monitor and unmonitor episodes, in minutes
|
|
- TZ=America/Chicago
|
|
- PUID=1001
|
|
- PGID=1001
|
|
#- LOG_LEVEL=DEBUG
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
labels:
|
|
- rackpeek.name=SWUR
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# BAZARR - SUBTITLES
|
|
############################
|
|
bazarr:
|
|
image: lscr.io/linuxserver/bazarr:latest
|
|
container_name: bazarr
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/bazarr:/config
|
|
- /mnt/raid2/video/tv:/video/tv #optional
|
|
- /mnt/raid2/video/anime_tv:/video/anime_tv #optional
|
|
- /mnt/raid2/video/documentaries:/video/documentaries #optional
|
|
- /mnt/raid2/video/movies:/video/movies #optional
|
|
- /mnt/raid2/video/anime_movies:/video/anime_movies #optional
|
|
- /mnt/raid2/video:/video
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Bazarr
|
|
- homepage.icon=bazarr.png
|
|
- homepage.href=${BAZARR_URL}
|
|
- homepage.description=Subtitle finder
|
|
- homepage.widget.type=bazarr
|
|
- homepage.widget.url=${BAZARR_URL}
|
|
- homepage.widget.key=${BAZARR_KEY}
|
|
- homepage.widget.fields=["missingEpisodes", "missingMovies"]
|
|
- dockhand.url=${BAZARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
############################
|
|
# LIDARR - MUSIC
|
|
############################
|
|
lidarr:
|
|
#Plug-in capabilities are now part of the main branch of Lidarr, but only in the nightly branch.
|
|
image: lscr.io/linuxserver/lidarr:nightly
|
|
container_name: lidarr
|
|
network_mode: "service:gluetun"
|
|
restart: unless-stopped
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
volumes:
|
|
- /srv/docker/entertainment/servarr/lidarr:/config
|
|
- /mnt/raid1/data/media:/media
|
|
- /mnt/raid1/data/media/audio/music:/media/audio/music
|
|
- /mnt/raid1/data/media/downloads/torrents:/media/downloads/torrents
|
|
- /mnt/raid1/data/media/downloads/music:/media/downloads/music
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Lidarr
|
|
- homepage.icon=lidarr.png
|
|
- homepage.href=${LIDARR_URL}
|
|
- homepage.description=Music torrent finder
|
|
- homepage.widget.type=lidarr
|
|
- homepage.widget.url=${LIDARR_URL}
|
|
- homepage.widget.key=${LIDARR_KEY}
|
|
- homepage.widget.fields=["wanted", "queued", "artists"]
|
|
- dockhand.url=${LIDARR_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
##############################
|
|
# DEEMIX - MUSIC DOWNLOADS
|
|
##############################
|
|
deemix:
|
|
image: registry.gitlab.com/bockiii/deemix-docker
|
|
container_name: deemix
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
volumes:
|
|
- /mnt/raid1/data/media:/media
|
|
- /mnt/raid1/data/media/audio/music:/media/audio/music
|
|
- /mnt/raid1/data/media/downloads/torrents:/media/downloads/torrents
|
|
- /mnt/raid1/data/media/downloads/music:/media/downloads/music
|
|
- /srv/docker/entertainment/servarr/deemix:/config
|
|
#ports:
|
|
# - 6595:6595
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
#- UMASK_SET=022 #OPTIONAL: Setting UMASK for file permissions Default is 022 - Allows read and write for the owner and group, and read for others
|
|
- DEEMIX_SINGLE_USER=true # OPTIONAL: Setting this environment variable to true will enable a serverwide login. In this mode, only one user needs to log in and every session will use the same login.
|
|
# You do not need to provide an ARL to the container, deemix will store the login information in the config folder.
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=Deemix
|
|
- homepage.icon=deemix.png
|
|
- homepage.href=${DEEMIX_URL}
|
|
- homepage.description=Music finder
|
|
- dockhand.url=${DEEMIX_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
##############################
|
|
# SLSKD - SOULSEEK - MUSIC P2P
|
|
##############################
|
|
slskd:
|
|
image: slskd/slskd:latest
|
|
container_name: slskd
|
|
restart: unless-stopped
|
|
user: 1001:1001
|
|
network_mode: "service:gluetun"
|
|
environment:
|
|
#https://github.com/slskd/slskd/blob/master/docs/config.md
|
|
- SLSKD_API_KEY=fbk7jdhQpPWA7ktBzYbSJT7yz8z271S2CpAbFuxmpcDubwU9i4lCQ7z7GpLuWwiD
|
|
- SLSKD_SLSK_USERNAME=forager
|
|
- SLSKD_SLSK_PASSWORD=D10Hi%7Gm3H*@1
|
|
- SLSKD_SLSK_DESCRIPTION="Still trying to get my docker setup right..."
|
|
- SLSKD_REMOTE_CONFIGURATION=true #The application contains APIs for retrieving and updating the YAML configuration file. By default, this option is disabled.
|
|
- SLSKD_THROTTLING_SEARCH_INCOMING_CONCURRENCY=10 #The limit for the number of concurrent search requests
|
|
- SLSKD_THROTTLING_SEARCH_INCOMING_CIRCUIT_BREAKER=100 #The limit for the number of queued search requests, after which requests will be discarded
|
|
- SLSKD_THROTTLING_SEARCH_INCOMING_RESPONSE_FILE_LIMIT=200 #The limit for the number of files that can be returned in a single search request
|
|
- SLSKD_DOWNLOADS_DIR=/media/downloads/torrents
|
|
- SLSKD_INCOMPLETE_DIR=/media/downloads/torrents/incomplete
|
|
- "SLSKD_SHARED_DIR=/media/music;/media/ebooks;/media/audiobooks" #share names from volumes
|
|
# needed to use with gluetun
|
|
- SLSKD_VPN_PORT_FORWARDING=true
|
|
- SLSKD_VPN_GLUETUN_URL=http://gluetun:8001
|
|
- SLSKD_VPN_GLUETUN_API_KEY=4mpV632veeg0XqwZUoLheieZX3ia5uO6buHsTsi0T1c7VfCXY9UFoLcm9kvCr7LH
|
|
volumes:
|
|
- /srv/docker/entertainment/music/slskd:/app:rw
|
|
#downloads
|
|
- /mnt/raid1/data/media/downloads:/media/downloads:rw
|
|
- /mnt/raid1/data/media/downloads/torrents:/media/downloads/torrents:rw
|
|
- /mnt/raid1/data/media/downloads/torrents/incomplete:/media/downloads/torrents/incomplete:rw
|
|
#shares
|
|
- /mnt/raid1/data/media/audio/music:/media/music:ro
|
|
- /mnt/raid1/data/media/audio/audio_books:/media/audiobooks:ro
|
|
- /mnt/raid1/data/media/books/calibre:/media/ebooks:ro
|
|
labels:
|
|
- homepage.group=Torrenting
|
|
- homepage.name=SLSKD
|
|
- homepage.icon=slskd.png
|
|
- homepage.href=${SLSKD_URL}
|
|
- homepage.description=Music sharing
|
|
- homepage.widget.type=lidarr
|
|
- homepage.widget.url=${SLSKD_URL}
|
|
- homepage.widget.key=${SLSKD_KEY}
|
|
- homepage.widget.fields=["slskStatus", "updateStatus", "downloads", "uploads"] # Max of 4 fields "sharedFiles"
|
|
- dockhand.url=${SLSKD_URL}
|
|
- rackpeek.tags=torrenting
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
|
|
|
|
##############################
|
|
# AURRAL - REQUESTS
|
|
##############################
|
|
aurral:
|
|
image: ghcr.io/lklynet/aurral:latest
|
|
container_name: aurral
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
user: "1001:1001"
|
|
#ports:
|
|
# - "3001:3001"
|
|
environment:
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- TZ=America/Chicago
|
|
- DOWNLOAD_FOLDER=/media/downloads/music #Host path used for Navidrome Weekly Flow library
|
|
- TRUST_PROXY=true #If you are behind a reverse proxy, set TRUST_PROXY so Aurral interprets X-Forwarded-* correctly
|
|
- SOULSEEK_USERNAME=forager
|
|
- SOULSEEK_PASSWORD=D10Hi%7Gm3H*@1
|
|
volumes:
|
|
- /mnt/raid1/data/media/downloads/music:/app/downloads
|
|
- /mnt/raid1/data/media/downloads/music:/media/downloads/music
|
|
- /mnt/raid1/data/media:/media
|
|
- /srv/docker/entertainment/servarr/aurral:/app/backend/data
|
|
labels:
|
|
- homepage.group=Entertainment
|
|
- homepage.name=Aurral
|
|
- homepage.icon=aurral.png
|
|
- homepage.href=${AURRAL_URL}
|
|
- homepage.description=Music request service
|
|
- dockhand.url=${AURRAL_URL}
|
|
- rackpeek.tags=entertainment
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy
|
|
##############################
|
|
# TUBESYNC
|
|
##############################
|
|
# https://github.com/meeb/tubesync
|
|
# https://github.com/meeb/tubesync/blob/main/docs/plex-notes.md
|
|
tubesync:
|
|
image: ghcr.io/meeb/tubesync:latest
|
|
container_name: tubesync
|
|
restart: unless-stopped
|
|
network_mode: "service:gluetun"
|
|
stop_grace_period: 30m
|
|
#ports:
|
|
# - 4848:4848
|
|
volumes:
|
|
- /srv/docker/entertainment/tubesync:/config
|
|
- /media/youtube/tubesync/:/downloads
|
|
environment:
|
|
- TZ=America/Chicago
|
|
- PUID=1001
|
|
- PGID=1001
|
|
- HTTP_USER=admin
|
|
- HTTP_PASS=EhLPmd50!1974
|
|
labels:
|
|
- homepage.group=Entertainment
|
|
- homepage.name=Tubesync
|
|
- homepage.icon=tubesync.png
|
|
- homepage.href=${TUBESYNC_URL}
|
|
- homepage.description=Youtube playlist downloader
|
|
- dockhand.url=${TUBESYNC_URL}
|
|
- rackpeek.tags=entertainment
|
|
depends_on:
|
|
gluetun:
|
|
condition: service_healthy |