mirror of
https://github.com/snachodog/my-arr-stack.git
synced 2025-04-23 11:52:23 -06:00
- 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.
231 lines
5.1 KiB
YAML
231 lines
5.1 KiB
YAML
---
|
|
services:
|
|
vpn:
|
|
container_name: vpn
|
|
image: 'dperson/openvpn-client:latest'
|
|
environment:
|
|
- 'OTHER_ARGS= --mute-replay-warnings'
|
|
cap_add:
|
|
- NET_ADMIN
|
|
- SYS_MODULE
|
|
restart: unless-stopped
|
|
volumes:
|
|
- '${ROOT}/config/vpn:/vpn'
|
|
- /lib/modules:/lib/modules
|
|
security_opt:
|
|
- 'label:disable'
|
|
devices:
|
|
- '/dev/net/tun:/dev/net/tun'
|
|
ports:
|
|
- '8112:8112' # Deluge Web UI Port
|
|
command: '-f "" -r 192.168.68.0/24'
|
|
|
|
deluge:
|
|
container_name: deluge
|
|
image: 'linuxserver/deluge:latest'
|
|
restart: unless-stopped
|
|
environment:
|
|
- 'PUID=${PUID}'
|
|
- 'PGID=${PGID}'
|
|
- 'TZ=${TZ}'
|
|
volumes:
|
|
- '${ROOT}/config/deluge:/config'
|
|
- '${HDDSTORAGE}:/MediaCenterBox'
|
|
network_mode: 'service:vpn'
|
|
depends_on:
|
|
- vpn
|
|
|
|
prowlarr:
|
|
image: lscr.io/linuxserver/prowlarr:latest
|
|
container_name: prowlarr
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- 'TZ=${TZ}'
|
|
volumes:
|
|
- '${ROOT}/config/prowlarr:/config'
|
|
restart: unless-stopped
|
|
ports:
|
|
- '9696:9696'
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:9696"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
|
|
sonarr:
|
|
container_name: sonarr
|
|
image: 'linuxserver/sonarr:latest'
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
environment:
|
|
- 'PUID=${PUID}'
|
|
- 'PGID=${PGID}'
|
|
- 'TZ=${TZ}'
|
|
volumes:
|
|
- '${ROOT}/config/sonarr:/config'
|
|
- '${HDDSTORAGE}:/MediaCenterBox'
|
|
depends_on:
|
|
- prowlarr
|
|
- jackett
|
|
|
|
radarr:
|
|
container_name: radarr
|
|
image: 'linuxserver/radarr:latest'
|
|
restart: unless-stopped
|
|
network_mode: host
|
|
environment:
|
|
- 'PUID=${PUID}'
|
|
- 'PGID=${PGID}'
|
|
- 'TZ=${TZ}'
|
|
volumes:
|
|
- '${ROOT}/config/radarr:/config'
|
|
- '${HDDSTORAGE}:/MediaCenterBox'
|
|
depends_on:
|
|
- prowlarr
|
|
- jackett
|
|
|
|
bazarr:
|
|
container_name: bazarr
|
|
image: 'linuxserver/bazarr:latest'
|
|
restart: unless-stopped
|
|
environment:
|
|
- 'PUID=${PUID}'
|
|
- 'PGID=${PGID}'
|
|
- 'TZ=${TZ}'
|
|
- UMASK_SET=022
|
|
volumes:
|
|
- '${ROOT}/config/bazarr:/config'
|
|
- '${HDDSTORAGE}:/MediaCenterBox'
|
|
ports:
|
|
- '6767:6767'
|
|
depends_on:
|
|
- sonarr
|
|
- radarr
|
|
|
|
plex-server:
|
|
container_name: plex-server
|
|
image: 'plexinc/pms-docker:latest'
|
|
restart: unless-stopped
|
|
environment:
|
|
- 'TZ=${TZ}'
|
|
network_mode: host
|
|
volumes:
|
|
- '${ROOT}/config/plex/db:/config'
|
|
- '${ROOT}/config/plex/transcode:/transcode'
|
|
- '${HDDSTORAGE}/Completed:/MediaCenterBox'
|
|
|
|
wireguard:
|
|
image: ghcr.io/linuxserver/wireguard:latest
|
|
container_name: wireguard
|
|
cap_add:
|
|
- NET_ADMIN
|
|
- SYS_MODULE
|
|
environment:
|
|
- PUID=${PUID}
|
|
- PGID=${PGID}
|
|
- TZ=${TZ}
|
|
- SERVERURL=${SERVERURL}
|
|
- SERVERPORT=51820
|
|
- PEERS=${PEERS}
|
|
- PEERDNS=auto
|
|
- INTERNAL_SUBNET=172.168.69.0
|
|
- ALLOWEDIPS=0.0.0.0/0
|
|
volumes:
|
|
- '${ROOT}/config/wireguard:/config'
|
|
- /lib/modules:/lib/modules
|
|
ports:
|
|
- '51820:51820/udp'
|
|
sysctls:
|
|
- net.ipv4.conf.all.src_valid_mark=1
|
|
restart: always
|
|
|
|
overseerr:
|
|
image: 'sctx/overseerr:latest'
|
|
container_name: overseerr
|
|
environment:
|
|
- LOG_LEVEL=debug
|
|
- 'TZ=${TZ}'
|
|
ports:
|
|
- '5055:5055'
|
|
volumes:
|
|
- '${ROOT}/config/overseerr/config:/app/config'
|
|
restart: unless-stopped
|
|
|
|
tautulli:
|
|
container_name: tautulli
|
|
image: linuxserver/tautulli:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- 'PUID=${PUID}'
|
|
- 'PGID=${PGID}'
|
|
- 'TZ=${TZ}'
|
|
volumes:
|
|
- '${ROOT}/config/tautulli:/config'
|
|
- '/portainer/Logs:/logs'
|
|
ports:
|
|
- '8181:8181'
|
|
|
|
lidarr:
|
|
container_name: lidarr
|
|
image: linuxserver/lidarr:latest
|
|
restart: unless-stopped
|
|
environment:
|
|
- 'PUID=${PUID}'
|
|
- 'PGID=${PGID}'
|
|
- 'TZ=${TZ}'
|
|
volumes:
|
|
- '${ROOT}/config/lidarr:/config'
|
|
- '${HDDSTORAGE}:/MediaCenterBox'
|
|
ports:
|
|
- '8686:8686'
|
|
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
|