All checks were successful
Deploy server-up (dev) / deploy (push) Successful in 2m1s
- 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
845 lines
23 KiB
YAML
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 %>
|