Refactor paths and add services: seedboxapi, requestrr, jackett.

- Moved all config volumes to `${ROOT}/config`  
- Added healthchecks for jackett and prowlarr  
- Added `depends_on` directives for inter-service readiness  
- Introduced new services: seedboxapi, requestrr, jackett 
  - seedboxapi needs a new variable in the .env `mam_id`, which can be found in your myanonymouse account.
This commit is contained in:
Steve Dogiakos 2025-04-20 11:55:23 -06:00 committed by GitHub
parent 1260919722
commit 72fe943b23
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,4 @@
version: '3.4' ---
services: services:
vpn: vpn:
container_name: vpn container_name: vpn
@ -6,18 +6,18 @@ services:
environment: environment:
- 'OTHER_ARGS= --mute-replay-warnings' - 'OTHER_ARGS= --mute-replay-warnings'
cap_add: cap_add:
- net_admin - NET_ADMIN
- SYS_MODULE - SYS_MODULE
restart: unless-stopped restart: unless-stopped
volumes: volumes:
- '${ROOT}/MediaCenter/config/vpn:/vpn' - '${ROOT}/config/vpn:/vpn'
- /lib/modules:/lib/modules - /lib/modules:/lib/modules
security_opt: security_opt:
- 'label:disable' - 'label:disable'
devices: devices:
- '/dev/net/tun:/dev/net/tun' - '/dev/net/tun:/dev/net/tun'
ports: ports:
- '8112:8112' #deluge web UI Port - '8112:8112' # Deluge Web UI Port
command: '-f "" -r 192.168.68.0/24' command: '-f "" -r 192.168.68.0/24'
deluge: deluge:
@ -29,7 +29,7 @@ services:
- 'PGID=${PGID}' - 'PGID=${PGID}'
- 'TZ=${TZ}' - 'TZ=${TZ}'
volumes: volumes:
- '${ROOT}/MediaCenter/config/deluge:/config' - '${ROOT}/config/deluge:/config'
- '${HDDSTORAGE}:/MediaCenterBox' - '${HDDSTORAGE}:/MediaCenterBox'
network_mode: 'service:vpn' network_mode: 'service:vpn'
depends_on: depends_on:
@ -43,10 +43,15 @@ services:
- PGID=1000 - PGID=1000
- 'TZ=${TZ}' - 'TZ=${TZ}'
volumes: volumes:
- '${ROOT}/MediaCenter/config/prowlarr:/config' - '${ROOT}/config/prowlarr:/config'
restart: unless-stopped restart: unless-stopped
ports: ports:
- '9696:9696' - '9696:9696'
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9696"]
interval: 30s
timeout: 10s
retries: 3
sonarr: sonarr:
container_name: sonarr container_name: sonarr
@ -58,8 +63,11 @@ services:
- 'PGID=${PGID}' - 'PGID=${PGID}'
- 'TZ=${TZ}' - 'TZ=${TZ}'
volumes: volumes:
- '${ROOT}/MediaCenter/config/sonarr:/config' - '${ROOT}/config/sonarr:/config'
- '${HDDSTORAGE}:/MediaCenterBox' - '${HDDSTORAGE}:/MediaCenterBox'
depends_on:
- prowlarr
- jackett
radarr: radarr:
container_name: radarr container_name: radarr
@ -71,8 +79,11 @@ services:
- 'PGID=${PGID}' - 'PGID=${PGID}'
- 'TZ=${TZ}' - 'TZ=${TZ}'
volumes: volumes:
- '${ROOT}/MediaCenter/config/radarr:/config' - '${ROOT}/config/radarr:/config'
- '${HDDSTORAGE}:/MediaCenterBox' - '${HDDSTORAGE}:/MediaCenterBox'
depends_on:
- prowlarr
- jackett
bazarr: bazarr:
container_name: bazarr container_name: bazarr
@ -84,10 +95,13 @@ services:
- 'TZ=${TZ}' - 'TZ=${TZ}'
- UMASK_SET=022 - UMASK_SET=022
volumes: volumes:
- '${ROOT}/MediaCenter/config/bazarr:/config' - '${ROOT}/config/bazarr:/config'
- '${HDDSTORAGE}:/MediaCenterBox' - '${HDDSTORAGE}:/MediaCenterBox'
ports: ports:
- '6767:6767' - '6767:6767'
depends_on:
- sonarr
- radarr
plex-server: plex-server:
container_name: plex-server container_name: plex-server
@ -97,8 +111,8 @@ services:
- 'TZ=${TZ}' - 'TZ=${TZ}'
network_mode: host network_mode: host
volumes: volumes:
- '${ROOT}/MediaCenter/config/plex/db:/config' - '${ROOT}/config/plex/db:/config'
- '${ROOT}/MediaCenter/config/plex/transcode:/transcode' - '${ROOT}/config/plex/transcode:/transcode'
- '${HDDSTORAGE}/Completed:/MediaCenterBox' - '${HDDSTORAGE}/Completed:/MediaCenterBox'
wireguard: wireguard:
@ -118,10 +132,10 @@ services:
- INTERNAL_SUBNET=172.168.69.0 - INTERNAL_SUBNET=172.168.69.0
- ALLOWEDIPS=0.0.0.0/0 - ALLOWEDIPS=0.0.0.0/0
volumes: volumes:
- ${ROOT}/MediaCenter/config/wireguard:/config - '${ROOT}/config/wireguard:/config'
- /lib/modules:/lib/modules - /lib/modules:/lib/modules
ports: ports:
- 51820:51820/udp - '51820:51820/udp'
sysctls: sysctls:
- net.ipv4.conf.all.src_valid_mark=1 - net.ipv4.conf.all.src_valid_mark=1
restart: always restart: always
@ -135,7 +149,7 @@ services:
ports: ports:
- '5055:5055' - '5055:5055'
volumes: volumes:
- '${ROOT}/MediaCenter/config/overseerr/config:/app/config' - '${ROOT}/config/overseerr/config:/app/config'
restart: unless-stopped restart: unless-stopped
tautulli: tautulli:
@ -147,7 +161,7 @@ services:
- 'PGID=${PGID}' - 'PGID=${PGID}'
- 'TZ=${TZ}' - 'TZ=${TZ}'
volumes: volumes:
- '${ROOT}/MediaCenter/config/tautulli:/config' - '${ROOT}/config/tautulli:/config'
- '/portainer/Logs:/logs' - '/portainer/Logs:/logs'
ports: ports:
- '8181:8181' - '8181:8181'
@ -161,8 +175,56 @@ services:
- 'PGID=${PGID}' - 'PGID=${PGID}'
- 'TZ=${TZ}' - 'TZ=${TZ}'
volumes: volumes:
- '${ROOT}/MediaCenter/config/lidarr:/config' - '${ROOT}/config/lidarr:/config'
- '${HDDSTORAGE}:/MediaCenterBox' - '${HDDSTORAGE}:/MediaCenterBox'
ports: ports:
- '8686:8686' - '8686:8686'
network_mode: host network_mode: host
depends_on:
- prowlarr
- jackett
seedboxapi:
image: myanonamouse/seedboxapi
user: 1000:1000 # Run as a non-root user.
container_name: seedboxapi
network_mode: "service:vpn"
restart: unless-stopped
depends_on:
- vpn
volumes:
- '${ROOT}/config/seedboxapi:/config'
environment:
- DEBUG=1
- mam_id=${mam_id}
- interval=1
requestrr:
image: thomst08/requestrr
container_name: requestrr
ports:
- '4545:4545'
volumes:
- '${ROOT}/config/requestrr:/root/config'
restart: unless-stopped
jackett:
image: lscr.io/linuxserver/jackett:latest
container_name: jackett
environment:
- 'PUID=${PUID}'
- 'PGID=${PGID}'
- 'TZ=${TZ}'
- AUTO_UPDATE=true # optional
- RUN_OPTS= # optional
volumes:
- '${ROOT}/config/jackett:/config'
- '${HDDSTORAGE}/Downloads:/downloads'
ports:
- '9117:9117'
restart: unless-stopped
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:9117"]
interval: 30s
timeout: 10s
retries: 3