server-up/apps/arr-stack/files/compose.yaml
Ramon 58d9be1f48
All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 2m1s
v0.7.90-beta - ARR-stack opgesplitst, /data-mount, netwerkopties per container
- Elk *arr-onderdeel is nu ook een losse app in de store (46 nieuwe sjablonen);
  los en gebundeld komen uit één bron (tools/arr_sjablonen.py) met een test die
  bewaakt dat ze niet uiteen lopen
- Alles deelt één /data-map, zodat hardlinks werken; losse /tv-, /movies- en
  /downloads-mounts zijn eruit, UMASK=002 erbij
- Nieuwe eerste stap "Onderdelen" in het invulmenu, met kopjes per soort; de
  dubbele groepsschakelaar en de lege kaarten in Instellingen zijn weg
- Eigen IP-adres per container in plaats van per stack; containers zonder adres
  houden hun poortmapping. Ook Pangolin publiceert nu per container
- Huntarr vervangen door NeutArr (project offline na lekken, image bestaat niet
  meer), Maintainerr naar zijn nieuwe organisatie
- 31 apps toegevoegd uit het *arr-ecosysteem, alle images tegen hun registry
  gecontroleerd
- data_dir hernoemd naar appdata_dir in de hele catalogus, naast de nieuwe
  data_root; qBittorrent van poort 8080 naar 8097

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Q9eqpADJSRs49SoGGr4NAy
2026-07-31 22:21:04 +02:00

845 lines
23 KiB
YAML

# ARR-stack — kies per onderdeel of je het wilt.
#
# Alles deelt één map, gekoppeld als /data. Dat is geen smaakkwestie:
# staan je downloads en je bibliotheek op verschillende mounts, dan kan
# Sonarr geen hardlink maken en kopieert elke voltooide download naar je
# bibliotheek. Traag, en je hebt alles tijdelijk dubbel op de schijf.
#
# /data/media/{films,series,muziek,boeken} je bibliotheek
# /data/torrents/ torrents (blijven seeden)
# /data/usenet/ usenet-downloads
#
# Draai je met Gluetun, dan zitten de downloadclients in het netwerk van
# die container en bereik je hun webinterface via de Gluetun-poorten.
services:
<%- if enable_kapowarr %>
<< service_name >>-kapowarr:
image: mrcas/kapowarr:latest
container_name: << service_name >>-kapowarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/kapowarr:/app/db
- << data_root >>:/data
ports:
- "<< port_kapowarr >>:5656"
restart: unless-stopped
<%- endif %>
<%- if enable_lidarr %>
<< service_name >>-lidarr:
image: lscr.io/linuxserver/lidarr:latest
container_name: << service_name >>-lidarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/lidarr:/config
- << data_root >>:/data
ports:
- "<< port_lidarr >>:8686"
restart: unless-stopped
<%- endif %>
<%- if enable_mylar3 %>
<< service_name >>-mylar3:
image: lscr.io/linuxserver/mylar3:latest
container_name: << service_name >>-mylar3
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/mylar3:/config
- << data_root >>:/data
ports:
- "<< port_mylar3 >>:8090"
restart: unless-stopped
<%- endif %>
<%- if enable_radarr %>
<< service_name >>-radarr:
image: lscr.io/linuxserver/radarr:latest
container_name: << service_name >>-radarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/radarr:/config
- << data_root >>:/data
ports:
- "<< port_radarr >>:7878"
restart: unless-stopped
<%- endif %>
<%- if enable_readarr %>
<< service_name >>-readarr:
image: lscr.io/linuxserver/readarr:develop
container_name: << service_name >>-readarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/readarr:/config
- << data_root >>:/data
ports:
- "<< port_readarr >>:8787"
restart: unless-stopped
<%- endif %>
<%- if enable_sonarr %>
<< service_name >>-sonarr:
image: lscr.io/linuxserver/sonarr:latest
container_name: << service_name >>-sonarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/sonarr:/config
- << data_root >>:/data
ports:
- "<< port_sonarr >>:8989"
restart: unless-stopped
<%- endif %>
<%- if enable_whisparr %>
<< service_name >>-whisparr:
image: ghcr.io/hotio/whisparr:latest
container_name: << service_name >>-whisparr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/whisparr:/config
- << data_root >>:/data
ports:
- "<< port_whisparr >>:6969"
restart: unless-stopped
<%- endif %>
<%- if enable_byparr %>
<< service_name >>-byparr:
image: ghcr.io/thephaseless/byparr:latest
container_name: << service_name >>-byparr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/byparr:/config
ports:
- "<< port_byparr >>:8191"
restart: unless-stopped
<%- endif %>
<%- if enable_flaresolverr %>
<< service_name >>-flaresolverr:
image: ghcr.io/flaresolverr/flaresolverr:latest
container_name: << service_name >>-flaresolverr
environment:
- TZ=<< timezone >>
- LOG_LEVEL=info
volumes:
- << appdata_dir >>/<< service_name >>/flaresolverr:/config
ports:
- "<< port_flaresolverr >>:8191"
restart: unless-stopped
<%- endif %>
<%- if enable_jackett %>
<< service_name >>-jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: << service_name >>-jackett
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/jackett:/config
ports:
- "<< port_jackett >>:9117"
restart: unless-stopped
<%- endif %>
<%- if enable_nzbhydra2 %>
<< service_name >>-nzbhydra2:
image: lscr.io/linuxserver/nzbhydra2:latest
container_name: << service_name >>-nzbhydra2
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/nzbhydra2:/config
ports:
- "<< port_nzbhydra2 >>:5076"
restart: unless-stopped
<%- endif %>
<%- if enable_prowlarr %>
<< service_name >>-prowlarr:
image: lscr.io/linuxserver/prowlarr:latest
container_name: << service_name >>-prowlarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/prowlarr:/config
ports:
- "<< port_prowlarr >>:9696"
restart: unless-stopped
<%- endif %>
<%- if enable_deluge %>
<< service_name >>-deluge:
image: lscr.io/linuxserver/deluge:latest
container_name: << service_name >>-deluge
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/deluge:/config
- << data_root >>:/data
<%- if enable_gluetun %>
network_mode: "service:<< service_name >>-gluetun"
depends_on:
- << service_name >>-gluetun
<%- endif %>
<%- if not enable_gluetun %>
ports:
- "<< port_deluge >>:8112"
- "<< port_deluge_torrent >>:6881"
- "<< port_deluge_torrent >>:6881/udp"
<%- endif %>
restart: unless-stopped
<%- endif %>
<%- if enable_nzbget %>
<< service_name >>-nzbget:
image: lscr.io/linuxserver/nzbget:latest
container_name: << service_name >>-nzbget
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/nzbget:/config
- << data_root >>:/data
<%- if enable_gluetun %>
network_mode: "service:<< service_name >>-gluetun"
depends_on:
- << service_name >>-gluetun
<%- endif %>
<%- if not enable_gluetun %>
ports:
- "<< port_nzbget >>:6789"
<%- endif %>
restart: unless-stopped
<%- endif %>
<%- if enable_qbittorrent %>
<< service_name >>-qbittorrent:
image: lscr.io/linuxserver/qbittorrent:latest
container_name: << service_name >>-qbittorrent
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
- WEBUI_PORT=8090
volumes:
- << appdata_dir >>/<< service_name >>/qbittorrent:/config
- << data_root >>:/data
<%- if enable_gluetun %>
network_mode: "service:<< service_name >>-gluetun"
depends_on:
- << service_name >>-gluetun
<%- endif %>
<%- if not enable_gluetun %>
ports:
- "<< port_qbittorrent >>:8090"
- "<< port_qbittorrent_torrent >>:6881"
- "<< port_qbittorrent_torrent >>:6881/udp"
<%- endif %>
restart: unless-stopped
<%- endif %>
<%- if enable_sabnzbd %>
<< service_name >>-sabnzbd:
image: lscr.io/linuxserver/sabnzbd:latest
container_name: << service_name >>-sabnzbd
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/sabnzbd:/config
- << data_root >>:/data
<%- if enable_gluetun %>
network_mode: "service:<< service_name >>-gluetun"
depends_on:
- << service_name >>-gluetun
<%- endif %>
<%- if not enable_gluetun %>
ports:
- "<< port_sabnzbd >>:8080"
<%- endif %>
restart: unless-stopped
<%- endif %>
<%- if enable_slskd %>
<< service_name >>-slskd:
image: slskd/slskd:latest
container_name: << service_name >>-slskd
environment:
- TZ=<< timezone >>
- SLSKD_REMOTE_CONFIGURATION=true
volumes:
- << appdata_dir >>/<< service_name >>/slskd:/app
- << data_root >>:/data
<%- if enable_gluetun %>
network_mode: "service:<< service_name >>-gluetun"
depends_on:
- << service_name >>-gluetun
<%- endif %>
<%- if not enable_gluetun %>
ports:
- "<< port_slskd >>:5030"
- "<< port_slskd_listen >>:50300"
<%- endif %>
restart: unless-stopped
<%- endif %>
<%- if enable_transmission %>
<< service_name >>-transmission:
image: lscr.io/linuxserver/transmission:latest
container_name: << service_name >>-transmission
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/transmission:/config
- << data_root >>:/data
<%- if enable_gluetun %>
network_mode: "service:<< service_name >>-gluetun"
depends_on:
- << service_name >>-gluetun
<%- endif %>
<%- if not enable_gluetun %>
ports:
- "<< port_transmission >>:9091"
- "<< port_transmission_torrent >>:51413"
- "<< port_transmission_torrent >>:51413/udp"
<%- endif %>
restart: unless-stopped
<%- endif %>
<%- if enable_bazarr %>
<< service_name >>-bazarr:
image: lscr.io/linuxserver/bazarr:latest
container_name: << service_name >>-bazarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/bazarr:/config
- << data_root >>:/data
ports:
- "<< port_bazarr >>:6767"
restart: unless-stopped
<%- endif %>
<%- if enable_lingarr %>
<< service_name >>-lingarr:
image: lingarr/lingarr:latest
container_name: << service_name >>-lingarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/lingarr:/app/config
- << data_root >>:/data
ports:
- "<< port_lingarr >>:9876"
restart: unless-stopped
<%- endif %>
<%- if enable_tdarr %>
<< service_name >>-tdarr:
image: ghcr.io/haveagitgat/tdarr:latest
container_name: << service_name >>-tdarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
- serverIP=0.0.0.0
- serverPort=8266
- webUIPort=8265
- internalNode=true
volumes:
- << appdata_dir >>/<< service_name >>/tdarr:/app/server
- << data_root >>:/data
- << appdata_dir >>/<< service_name >>/tdarr-configs:/app/configs
ports:
- "<< port_tdarr >>:8265"
- "<< port_tdarr_server >>:8266"
restart: unless-stopped
<%- endif %>
<%- if enable_unpackerr %>
<< service_name >>-unpackerr:
image: ghcr.io/unpackerr/unpackerr:latest
container_name: << service_name >>-unpackerr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UN_SONARR_0_URL=<< sonarr_url >>
- UN_SONARR_0_API_KEY=<< sonarr_apikey >>
- UN_RADARR_0_URL=<< radarr_url >>
- UN_RADARR_0_API_KEY=<< radarr_apikey >>
volumes:
- << appdata_dir >>/<< service_name >>/unpackerr:/config
- << data_root >>:/data
restart: unless-stopped
<%- endif %>
<%- if enable_jellyseerr %>
<< service_name >>-jellyseerr:
image: fallenbagel/jellyseerr:latest
container_name: << service_name >>-jellyseerr
environment:
- TZ=<< timezone >>
- LOG_LEVEL=info
volumes:
- << appdata_dir >>/<< service_name >>/jellyseerr:/app/config
ports:
- "<< port_jellyseerr >>:5055"
restart: unless-stopped
<%- endif %>
<%- if enable_overseerr %>
<< service_name >>-overseerr:
image: sctx/overseerr:latest
container_name: << service_name >>-overseerr
environment:
- TZ=<< timezone >>
- LOG_LEVEL=info
volumes:
- << appdata_dir >>/<< service_name >>/overseerr:/app/config
ports:
- "<< port_overseerr >>:5055"
restart: unless-stopped
<%- endif %>
<%- if enable_prefetcharr %>
<< service_name >>-prefetcharr:
image: phueber/prefetcharr:latest
container_name: << service_name >>-prefetcharr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/prefetcharr:/config
restart: unless-stopped
<%- endif %>
<%- if enable_pulsarr %>
<< service_name >>-pulsarr:
image: lakker/pulsarr:latest
container_name: << service_name >>-pulsarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/pulsarr:/app/data
ports:
- "<< port_pulsarr >>:3003"
restart: unless-stopped
<%- endif %>
<%- if enable_requestrr %>
<< service_name >>-requestrr:
image: thomst08/requestrr:latest
container_name: << service_name >>-requestrr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/requestrr:/root/config
ports:
- "<< port_requestrr >>:4545"
restart: unless-stopped
<%- endif %>
<%- if enable_suggestarr %>
<< service_name >>-suggestarr:
image: ciuse99/suggestarr:latest
container_name: << service_name >>-suggestarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/suggestarr:/app/config
ports:
- "<< port_suggestarr >>:5000"
restart: unless-stopped
<%- endif %>
<%- if enable_wizarr %>
<< service_name >>-wizarr:
image: ghcr.io/wizarrrr/wizarr:latest
container_name: << service_name >>-wizarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/wizarr:/data/database
ports:
- "<< port_wizarr >>:5690"
restart: unless-stopped
<%- endif %>
<%- if enable_cleanuparr %>
<< service_name >>-cleanuparr:
image: ghcr.io/cleanuparr/cleanuparr:latest
container_name: << service_name >>-cleanuparr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/cleanuparr:/config
- << data_root >>:/data
ports:
- "<< port_cleanuparr >>:11011"
restart: unless-stopped
<%- endif %>
<%- if enable_crossseed %>
<< service_name >>-crossseed:
image: ghcr.io/cross-seed/cross-seed:latest
container_name: << service_name >>-crossseed
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/crossseed:/config
- << data_root >>:/data
command: daemon
ports:
- "<< port_crossseed >>:2468"
restart: unless-stopped
<%- endif %>
<%- if enable_decluttarr %>
<< service_name >>-decluttarr:
image: ghcr.io/manimatter/decluttarr:latest
container_name: << service_name >>-decluttarr
environment:
- TZ=<< timezone >>
- SONARR_URL=<< sonarr_url >>
- SONARR_KEY=<< sonarr_apikey >>
- RADARR_URL=<< radarr_url >>
- RADARR_KEY=<< radarr_apikey >>
- LOG_LEVEL=INFO
volumes:
- << appdata_dir >>/<< service_name >>/decluttarr:/config
restart: unless-stopped
<%- endif %>
<%- if enable_janitorr %>
<< service_name >>-janitorr:
image: ghcr.io/schaka/janitorr:native-stable
container_name: << service_name >>-janitorr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/janitorr:/config
- << data_root >>:/data
ports:
- "<< port_janitorr >>:8978"
restart: unless-stopped
<%- endif %>
<%- if enable_maintainerr %>
<< service_name >>-maintainerr:
image: ghcr.io/maintainerr/maintainerr:latest
container_name: << service_name >>-maintainerr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/maintainerr:/opt/data
ports:
- "<< port_maintainerr >>:6246"
restart: unless-stopped
<%- endif %>
<%- if enable_neutarr %>
<< service_name >>-neutarr:
image: iampuid0/neutarr:latest
container_name: << service_name >>-neutarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/neutarr:/config
ports:
- "<< port_neutarr >>:9705"
restart: unless-stopped
<%- endif %>
<%- if enable_configarr %>
<< service_name >>-configarr:
image: ghcr.io/raydak-labs/configarr:latest
container_name: << service_name >>-configarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/configarr:/app/config
restart: unless-stopped
<%- endif %>
<%- if enable_profilarr %>
<< service_name >>-profilarr:
image: santiagosayshey/profilarr:latest
container_name: << service_name >>-profilarr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/profilarr:/config
ports:
- "<< port_profilarr >>:6868"
restart: unless-stopped
<%- endif %>
<%- if enable_recyclarr %>
<< service_name >>-recyclarr:
image: ghcr.io/recyclarr/recyclarr:latest
container_name: << service_name >>-recyclarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/recyclarr:/config
restart: unless-stopped
<%- endif %>
<%- if enable_kometa %>
<< service_name >>-kometa:
image: kometateam/kometa:latest
container_name: << service_name >>-kometa
environment:
- TZ=<< timezone >>
- KOMETA_RUN=false
volumes:
- << appdata_dir >>/<< service_name >>/kometa:/config
- << data_root >>:/data
restart: unless-stopped
<%- endif %>
<%- if enable_posterizarr %>
<< service_name >>-posterizarr:
image: ghcr.io/fscorrupt/posterizarr:latest
container_name: << service_name >>-posterizarr
environment:
- TZ=<< timezone >>
- RUN_TIME=disabled
volumes:
- << appdata_dir >>/<< service_name >>/posterizarr:/config
- << data_root >>:/data
restart: unless-stopped
<%- endif %>
<%- if enable_trailarr %>
<< service_name >>-trailarr:
image: nandyalu/trailarr:latest
container_name: << service_name >>-trailarr
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/trailarr:/config
- << data_root >>:/data
ports:
- "<< port_trailarr >>:7889"
restart: unless-stopped
<%- endif %>
<%- if enable_autopulse %>
<< service_name >>-autopulse:
image: ghcr.io/dan-online/autopulse:latest
container_name: << service_name >>-autopulse
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/autopulse:/app/config
ports:
- "<< port_autopulse >>:2875"
restart: unless-stopped
<%- endif %>
<%- if enable_exportarr %>
<< service_name >>-exportarr:
image: ghcr.io/onedr0p/exportarr:latest
container_name: << service_name >>-exportarr
environment:
- TZ=<< timezone >>
- URL=<< arr_url >>
- APIKEY=<< arr_apikey >>
- PORT=<< port_exportarr >>
volumes:
- << appdata_dir >>/<< service_name >>/exportarr:/config
command: << arr_soort >>
ports:
- "<< port_exportarr >>:9707"
restart: unless-stopped
<%- endif %>
<%- if enable_homarr %>
<< service_name >>-homarr:
image: ghcr.io/homarr-labs/homarr:latest
container_name: << service_name >>-homarr
environment:
- TZ=<< timezone >>
- SECRET_ENCRYPTION_KEY=<< homarr_encryption_key >>
volumes:
- << appdata_dir >>/<< service_name >>/homarr:/appdata
ports:
- "<< port_homarr >>:7575"
restart: unless-stopped
<%- endif %>
<%- if enable_jellystat %>
<< service_name >>-jellystat:
image: cyfershepard/jellystat:latest
container_name: << service_name >>-jellystat
environment:
- TZ=<< timezone >>
- POSTGRES_USER=jellystat
- POSTGRES_PASSWORD=<< db_password >>
- POSTGRES_IP=<< service_name >>-jellystat-db
- POSTGRES_PORT=5432
- JWT_SECRET=<< jwt_secret >>
volumes:
- << appdata_dir >>/<< service_name >>/jellystat:/app/backend/backup-data
ports:
- "<< port_jellystat >>:3000"
depends_on:
- << service_name >>-jellystat-db
restart: unless-stopped
<< service_name >>-jellystat-db:
image: postgres:16-alpine
container_name: << service_name >>-jellystat-db
environment:
- POSTGRES_USER=jellystat
- POSTGRES_PASSWORD=<< db_password >>
- POSTGRES_DB=jfstat
volumes:
- << appdata_dir >>/<< service_name >>-jellystat-db:/var/lib/postgresql/data
restart: unless-stopped
<%- endif %>
<%- if enable_notifiarr %>
<< service_name >>-notifiarr:
image: golift/notifiarr:latest
container_name: << service_name >>-notifiarr
environment:
- TZ=<< timezone >>
- DN_API_KEY=<< notifiarr_apikey >>
volumes:
- << appdata_dir >>/<< service_name >>/notifiarr:/config
ports:
- "<< port_notifiarr >>:5454"
restart: unless-stopped
<%- endif %>
<%- if enable_tautulli %>
<< service_name >>-tautulli:
image: lscr.io/linuxserver/tautulli:latest
container_name: << service_name >>-tautulli
environment:
- PUID=<< puid >>
- PGID=<< pgid >>
- TZ=<< timezone >>
- UMASK=002
volumes:
- << appdata_dir >>/<< service_name >>/tautulli:/config
ports:
- "<< port_tautulli >>:8181"
restart: unless-stopped
<%- endif %>
<%- if enable_soularr %>
<< service_name >>-soularr:
image: mrusse08/soularr:latest
container_name: << service_name >>-soularr
environment:
- TZ=<< timezone >>
volumes:
- << appdata_dir >>/<< service_name >>/soularr:/data
- << data_root >>:/data
restart: unless-stopped
<%- endif %>
<%- if enable_gluetun %>
<< service_name >>-gluetun:
image: qmcgaw/gluetun:latest
container_name: << service_name >>-gluetun
environment:
- TZ=<< timezone >>
- VPN_SERVICE_PROVIDER=<< vpn_provider >>
- VPN_TYPE=<< vpn_type >>
- SERVER_COUNTRIES=<< vpn_landen >>
- WIREGUARD_PRIVATE_KEY=<< wireguard_private_key >>
- WIREGUARD_ADDRESSES=<< wireguard_addresses >>
- OPENVPN_USER=<< openvpn_user >>
- OPENVPN_PASSWORD=<< openvpn_password >>
volumes:
- << appdata_dir >>/<< service_name >>/gluetun:/gluetun
cap_add:
- NET_ADMIN
devices:
- /dev/net/tun:/dev/net/tun
ports:
# De downloadclients delen dit netwerk, dus hun webinterfaces
# staan hier. Inkomende torrentpoorten niet: die regelt je
# VPN-aanbieder met port forwarding.
<%- if enable_deluge %>
- "<< port_deluge >>:8112"
<%- endif %>
<%- if enable_nzbget %>
- "<< port_nzbget >>:6789"
<%- endif %>
<%- if enable_qbittorrent %>
- "<< port_qbittorrent >>:8090"
<%- endif %>
<%- if enable_sabnzbd %>
- "<< port_sabnzbd >>:8080"
<%- endif %>
<%- if enable_slskd %>
- "<< port_slskd >>:5030"
<%- endif %>
<%- if enable_transmission %>
- "<< port_transmission >>:9091"
<%- endif %>
restart: unless-stopped
<%- endif %>