"Updates"
This commit is contained in:
@@ -0,0 +1,558 @@
|
||||
name: jellystack
|
||||
|
||||
networks:
|
||||
media_network:
|
||||
name: media_network
|
||||
driver: bridge
|
||||
attachable: true
|
||||
|
||||
services:
|
||||
# Gluetun - Manage VPN
|
||||
gluetun:
|
||||
image: qmcgaw/gluetun:latest
|
||||
container_name: gluetun
|
||||
hostname: gluetun
|
||||
cap_add:
|
||||
- NET_ADMIN
|
||||
restart: always
|
||||
secrets:
|
||||
- wireguard_private_key
|
||||
env_file: ./env/gluetun.env
|
||||
volumes:
|
||||
- wireguard:/gluetun
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 8100:8000 # Remote Control VPN
|
||||
- 2648:2648/tcp # cross-seed
|
||||
- 8989:8989 # sonarr
|
||||
- 8081:8081 # medusa
|
||||
- 7878:7878 # radarr
|
||||
- 9696:9696 # prowlarr
|
||||
- 8686:8686 # lidarr
|
||||
- 6767:6767 # bazarr
|
||||
- 9080:9080/tcp # qBit
|
||||
- 8694:8694/tcp # qBit
|
||||
- 6881:6881/udp # qBit
|
||||
- 8080:8080 # SABnzbd
|
||||
- 5656:5656/tcp # kapowarr
|
||||
# - 5004:5004/tcp # cabernet
|
||||
# - 6077:6077/tcp # cabernet
|
||||
- 7474:7474 # autobrr
|
||||
- 8191:8191/tcp # flaresolverr
|
||||
devices:
|
||||
- /dev/net/tun:/dev/net/tun
|
||||
|
||||
# Qbittorent - torrenting software
|
||||
qbittorrent:
|
||||
image: lscr.io/linuxserver/qbittorrent:latest
|
||||
container_name: qbittorrent
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/dnl.env
|
||||
volumes:
|
||||
- qbittorent:/config
|
||||
- torrents:/data/torrents
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:9080 || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# SABnzbd
|
||||
sabnzbd:
|
||||
image: lscr.io/linuxserver/sabnzbd:latest
|
||||
container_name: sabnzbd
|
||||
restart: always
|
||||
network_mode: "service:gluetun"
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
volumes:
|
||||
- sabnzbd:/config
|
||||
- usenet:/downloads
|
||||
- media:/data
|
||||
env_file: ./env/dnl.env
|
||||
|
||||
# Sonarr - Find shows automatically
|
||||
sonarr:
|
||||
image: lscr.io/linuxserver/sonarr:latest
|
||||
container_name: sonarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- sonarr:/config
|
||||
- media:/data
|
||||
- tv-shows:/data/tv-shows
|
||||
- downloads:/downloads
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:8989/ping || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
qbittorrent:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Radarr - Find movies automatically
|
||||
radarr:
|
||||
image: lscr.io/linuxserver/radarr:latest
|
||||
container_name: radarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- radarr:/config
|
||||
- media:/data
|
||||
- movies:/data/movies
|
||||
- downloads:/downloads
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:7878/ping || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
qbittorrent:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Prowlarr - Manages Sonarr, Radarr and download client
|
||||
prowlarr:
|
||||
image: lscr.io/linuxserver/prowlarr:latest
|
||||
container_name: prowlarr
|
||||
network_mode: "service:gluetun"
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- prowlarr:/config
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:9696/ping || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
qbittorrent:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
sonarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
radarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Bazarr - Subtitles. Try to use SRT format if you can rather than PGS due to performance issues
|
||||
bazarr:
|
||||
container_name: bazarr
|
||||
image: lscr.io/linuxserver/bazarr:latest
|
||||
restart: always
|
||||
network_mode: "service:gluetun"
|
||||
env_file: ./env/arr.env
|
||||
volumes:
|
||||
- bazarr:/config
|
||||
- media:/data/media
|
||||
healthcheck:
|
||||
test: curl -f http://localhost:6767 || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
depends_on:
|
||||
gluetun:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Unpacker - Used to unzip zipped files
|
||||
unpackerr:
|
||||
image: golift/unpackerr:latest
|
||||
container_name: unpackerr
|
||||
restart: always
|
||||
env_file: ./env/arr.env
|
||||
networks:
|
||||
- media_network
|
||||
volumes:
|
||||
- unpackerr:/config
|
||||
- media:/data
|
||||
- downloads:/downloads
|
||||
depends_on:
|
||||
sonarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
radarr:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Jellyfin - Media server
|
||||
jellyfin:
|
||||
image: ghcr.io/linuxserver/jellyfin:latest
|
||||
container_name: jellyfin
|
||||
hostname: jellyfin
|
||||
restart: always
|
||||
privileged: true
|
||||
env_file: ./env/jfn.env
|
||||
volumes:
|
||||
- jellyfin:/config
|
||||
- cache:/cache
|
||||
- media:/media
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 8096:8096
|
||||
- 8920:8920
|
||||
devices:
|
||||
- /dev/dri:/dev/dri # Required for jellyfin HW transcoding / QuickSynci
|
||||
- /dev/dma_heap:/dev/dma_heap
|
||||
- /dev/fb0:/dev/fb0
|
||||
- /dev/mali0:/dev/mali0
|
||||
- /dev/rga:/dev/rga
|
||||
- /dev/mpp_service:/dev/mpp_service
|
||||
healthcheck:
|
||||
test: curl -i http://localhost:8096/health || exit 1
|
||||
interval: 10s
|
||||
timeout: 3s
|
||||
start_period: 60s
|
||||
|
||||
# Seer - Allows users to request media on their own
|
||||
seerr:
|
||||
container_name: seerr
|
||||
image: ghcr.io/seerr-team/seerr:latest
|
||||
init: true
|
||||
restart: always
|
||||
environment:
|
||||
- LOG_LEVEL=debug
|
||||
- PORT=5055
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 5055:5055
|
||||
volumes:
|
||||
- seerr:/app/config
|
||||
# - media:/data/media
|
||||
healthcheck:
|
||||
test: wget --no-verbose --tries=1 --spider http://localhost:5055/api/v1/status || exit 1
|
||||
start_period: 20s
|
||||
timeout: 3s
|
||||
interval: 15s
|
||||
retries: 3
|
||||
depends_on:
|
||||
jellyfin:
|
||||
condition: service_healthy
|
||||
restart: true
|
||||
|
||||
# Wizarr - Create a share links that you can send to users to invite them to your media server
|
||||
wizarr:
|
||||
container_name: wizarr
|
||||
image: ghcr.io/wizarrrr/wizarr:latest
|
||||
restart: always
|
||||
volumes:
|
||||
- wizarr:/data/database
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 5690:5690
|
||||
|
||||
# Tdarr - Transcode videos from one format to another like x265 or H.265
|
||||
tdarr:
|
||||
container_name: tdarr
|
||||
image: ghcr.io/haveagitgat/tdarr:latest
|
||||
privileged: true
|
||||
restart: always
|
||||
environment:
|
||||
- PUID=1002
|
||||
- PGID=1002
|
||||
- TZ=Europe/Paris
|
||||
- UMASK_SET=002
|
||||
- nodeName=ServerNode
|
||||
- serverIP=0.0.0.0
|
||||
- serverPort=8266
|
||||
- webUIPort=8265
|
||||
- internalNode=true
|
||||
- inContainer=true
|
||||
- ffmpegVersion=6
|
||||
volumes:
|
||||
- tdarr:/app/configs
|
||||
- tdarr_server:/app/server
|
||||
- tdarr_logs:/app/logs
|
||||
- media:/data/media
|
||||
- transcode_cache:/temp
|
||||
networks:
|
||||
- media_network
|
||||
ports:
|
||||
- 8265:8265 # webUI port
|
||||
- 8266:8266 # server port
|
||||
devices:
|
||||
- /dev/dri:/dev/dri # Required for HW transcoding /share QuickSyncinc
|
||||
- /dev/dma_heap:/dev/dma_heap
|
||||
- /dev/mali0:/dev/mali0
|
||||
- /dev/rga:/dev/rga
|
||||
- /dev/mpp_service:/dev/mpp_service
|
||||
|
||||
tdarr-node:
|
||||
container_name: tdarr-node
|
||||
image: ghcr.io/haveagitgat/tdarr_node:latest
|
||||
restart: always
|
||||
network_mode: service:tdarr
|
||||
environment:
|
||||
- TZ=Europe/Paris
|
||||
- PUID=1002
|
||||
- PGID=1002
|
||||
- UMASK_SET=002
|
||||
- nodeName=MainNode
|
||||
- serverIP=0.0.0.0
|
||||
- serverPort=8266
|
||||
- inContainer=true
|
||||
volumes:
|
||||
- tdarr:/app/configs
|
||||
- tdarr_logs:/app/logs
|
||||
- media:/data/media
|
||||
- transcode_cache:/temp
|
||||
|
||||
music-grabber:
|
||||
image: g33kphr33k/musicgrabber:latest
|
||||
container_name: music-grabber
|
||||
restart: always
|
||||
shm_size: '2gb'
|
||||
ports:
|
||||
- "38274:8080"
|
||||
volumes:
|
||||
- music:/music
|
||||
- music-grabber:/data
|
||||
environment:
|
||||
- MUSIC_DIR=/music
|
||||
- DB_PATH=/data/music_grabber.db
|
||||
# Optional: serve behind a reverse-proxy subpath (proxy must strip the prefix)
|
||||
# - ROOT_PATH=/musicgrabber
|
||||
- ENABLE_MUSICBRAINZ=true
|
||||
- DEFAULT_CONVERT_TO_FLAC=true
|
||||
# Optional: Run as specific user (like *arr stack) for correct file permissions
|
||||
- PUID=1000
|
||||
- PGID=1000
|
||||
# Optional: Custom bind address/port (useful for IPv6 or non-standard setups)
|
||||
- LISTEN_ADDR=0.0.0.0
|
||||
- LISTEN_PORT=8080
|
||||
# Optional: Navidrome auto-rescan
|
||||
- NAVIDROME_URL=http://navidrome:4533
|
||||
- NAVIDROME_USER=admin
|
||||
- NAVIDROME_PASS=sandstorm-outcast-treat
|
||||
# Optional: Jellyfin auto-rescan
|
||||
- JELLYFIN_URL=https://jellyfin.delmar.bzh
|
||||
- JELLYFIN_API_KEY=65e51490397749d6945c4561a53e012a
|
||||
# AcoustID API key for audio fingerprinting (https://acoustid.org/api-key)
|
||||
- ACOUSTID_API_KEY=4b5DGYGrih
|
||||
# Optional: Notifications
|
||||
- NOTIFY_ON=playlists,bulk,errors
|
||||
# - TELEGRAM_WEBHOOK_URL=https://api.telegram.org/bot{token}/sendMessage?chat_id={chat_id}
|
||||
# - WEBHOOK_URL=https://your-webhook-endpoint.com/hook
|
||||
- APPRISE_URL=gotify://gotify.delmar.bzh/A-4Fe2UBRbV5J_J
|
||||
- SMTP_HOST=pro1.mail.ovh.net
|
||||
- SMTP_PORT=587
|
||||
- SMTP_USER=admin@delmar.bzh
|
||||
- SMTP_PASS=sxS4GA8rBfmFkCFL
|
||||
- SMTP_TO=jme69@delmar.bzh
|
||||
# Optional: Use a Monochrome mirror instead of the default instance
|
||||
# - MONOCHROME_API_URL=https://api.monochrome.tf
|
||||
|
||||
navidrome:
|
||||
image: deluan/navidrome:latest
|
||||
container_name: navidrome
|
||||
user: 1000:1000
|
||||
ports:
|
||||
- "4533:4533"
|
||||
restart: always
|
||||
environment:
|
||||
# Optional: put your config options customization here. Examples:
|
||||
- ND_LOGLEVEL=debug
|
||||
volumes:
|
||||
- navidrome:/data:rw
|
||||
- music:/music:ro
|
||||
|
||||
volumes:
|
||||
wireguard:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/wireguard"
|
||||
qbittorent:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/qbittorent"
|
||||
sabnzbd:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sabnzbd"
|
||||
sabnzbd_backups:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sabnzbd/backups"
|
||||
nzb_files:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sabnzbd/Downloads/nzb_files"
|
||||
sonarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/sonarr"
|
||||
radarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/radarr"
|
||||
prowlarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/prowlarr"
|
||||
bazarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/bazarr"
|
||||
unpackerr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/unpackerr"
|
||||
jellyfin:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/jellyfin"
|
||||
navidrome:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/navidrome"
|
||||
music-grabber:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/music-grabber"
|
||||
tdarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr"
|
||||
tdarr_server:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr_server"
|
||||
tdarr_logs:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr_logs"
|
||||
transcode_cache:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/tdarr_cache"
|
||||
cache:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/cache"
|
||||
seerr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/seerr"
|
||||
wizarr:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "none"
|
||||
o: "bind"
|
||||
device: "./config/wizarr/data/database"
|
||||
media:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media"
|
||||
tv-shows:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/tv-shows"
|
||||
movies:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/movies"
|
||||
music:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/music"
|
||||
downloads:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/media/downloads"
|
||||
torrents:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/downloads/torrents"
|
||||
usenet:
|
||||
driver: local
|
||||
driver_opts:
|
||||
type: "nfs"
|
||||
o: "addr=192.168.1.15,nolock,soft,rw"
|
||||
device: "/srv/nfs4/downloads/usenet"
|
||||
|
||||
secrets:
|
||||
wireguard_private_key:
|
||||
file: ./secrets/wireguard_private_key.secret
|
||||
bittorrent-user:
|
||||
file: ./secrets/bittorrent-user.secret
|
||||
bittorrent-password:
|
||||
file: ./secrets/bittorrent-password.secret
|
||||
radarr-api:
|
||||
file: ./secrets/radarr-api.secret
|
||||
sonarr-api:
|
||||
file: ./secrets/sonarr-api.secret
|
||||
Reference in New Issue
Block a user