# Arr media stack w/ Docker Compose # # This stack is only tested with an NVIDIA graphics card (see jellyfin service), # make sure you have installed the correct drivers beforehand. # # ENVIRONMENT VARIABLES # ${MEDIA} :: this is where large files are stored e.g. your nas' mountpoint # ${CONFIG} :: this is where persistent application configs and data are stored # # Don't use root! https://docs.docker.com/engine/install/linux-postinstall/#manage-docker-as-a-non-root-user # ${PUID} :: id -u # ${PGID} :: id -g services: jellyfin: image: lscr.io/linuxserver/jellyfin container_name: jellyfin environment: - PUID=${PUID} - PGID=${PGID} # Replace with your GPU's UUID from :: $ nvidia-smi --query-gpu=uuid --format=csv,noheader - NVIDIA_VISIBLE_DEVICES= volumes: - /etc/localtime:/etc/localtime:ro - ${MEDIA}:/data - ${CONFIG}/jellyfin:/config ports: - 8096:8096 restart: unless-stopped deploy: resources: reservations: devices: - driver: nvidia count: all capabilities: [gpu] qbittorrent: # Slow speeds with v2, so we use v1 image: lscr.io/linuxserver/qbittorrent:libtorrentv1 container_name: qbittorrent environment: - PUID=${PUID} - PGID=${PGID} - WEBUI_PORT=8081 volumes: - /etc/localtime:/etc/localtime:ro - ${MEDIA}:/data - ${CONFIG}/qbittorrent:/config restart: unless-stopped ports: - 8081:8081 - 53966:53966 # Forward this port on your router sonarr: image: lscr.io/linuxserver/sonarr container_name: sonarr environment: - PUID=${PUID} - PGID=${PGID} volumes: - /etc/localtime:/etc/localtime:ro - ${MEDIA}:/data - ${CONFIG}/sonarr:/config ports: - 8989:8989 restart: unless-stopped radarr: image: lscr.io/linuxserver/radarr container_name: radarr environment: - PUID=${PUID} - PGID=${PGID} volumes: - /etc/localtime:/etc/localtime:ro - ${MEDIA}:/data - ${CONFIG}/radarr:/config ports: - 7878:7878 restart: unless-stopped prowlarr: image: lscr.io/linuxserver/prowlarr container_name: prowlarr environment: - PUID=${PUID} - PGID=${PGID} volumes: - /etc/localtime:/etc/localtime:ro - ${CONFIG}/prowlarr:/config ports: - 9696:9696 restart: unless-stopped jellyseerr: image: fallenbagel/jellyseerr:latest container_name: jellyseerr environment: - PUID=${PUID} - PGID=${PGID} volumes: - /etc/localtime:/etc/localtime:ro - ${CONFIG}/jellyseerr:/app/config ports: - 5055:5055 restart: unless-stopped watchtower: image: containrrr/watchtower container_name: watchtower environment: - WATCHTOWER_CLEANUP=true volumes: - /var/run/docker.sock:/var/run/docker.sock restart: unless-stopped