services: jellyfin: image: jellyfin/jellyfin container_name: jellyfin user: 1001:1001 ports: - 5000:8096/tcp - 7359:7359/udp group_add: - "44" # video (for /dev/dri/card0) - "992" # render (for /dev/dri/renderD128) devices: - /dev/dri:/dev/dri volumes: - ./config:/config - ./cache:/cache - type: bind source: /srv/ target: /media read_only: true - type: bind source: /usr/local/share/fonts/ target: /usr/local/share/fonts/custom read_only: true restart: unless-stopped environment: - LIBVA_DRIVER_NAME=i965 extra_hosts: - 'host.docker.internal:host-gateway' sonarr: image: linuxserver/sonarr container_name: sonarr environment: - PUID=1001 - PGID=1001 - TZ=America/Los_Angeles # Change this to your timezone, e.g. America/Los_Angeles - UMASK=002 ports: - 8989:8989 volumes: - ./sonarr-config:/config - /srv:/data restart: unless-stopped radarr: image: linuxserver/radarr container_name: radarr environment: - PUID=1001 - PGID=1001 - TZ=America/Los_Angeles # Change this to your timezone, e.g. America/Los_Angeles - UMASK=002 ports: - 7878:7878 volumes: - ./radarr-config:/config - /srv:/data restart: unless-stopped prowlarr: image: linuxserver/prowlarr container_name: prowlarr environment: - PUID=1001 - PGID=1001 - TZ=America/Los_Angeles - UMASK=002 ports: - 9696:9696 volumes: - ./prowlarr-config:/config restart: unless-stopped flaresolverr: image: ghcr.io/flaresolverr/flaresolverr:latest container_name: flaresolverr environment: - LOG_LEVEL=info - TZ=America/Los_Angeles ports: - 8191:8191 restart: unless-stopped unpackerr: image: golift/unpackerr container_name: unpackerr user: 1000:1001 env_file: - .env environment: - TZ=America/Los_Angeles - UN_SONARR_0_URL=http://sonarr:8989 - UN_SONARR_0_API_KEY=${SONARR_API_KEY} - UN_SONARR_0_PATHS_0=/data/torrents/downloads - UN_SONARR_0_PROTOCOLS=torrent - UN_RADARR_0_URL=http://radarr:7878 - UN_RADARR_0_API_KEY=${RADARR_API_KEY} - UN_RADARR_0_PATHS_0=/data/torrents/downloads - UN_RADARR_0_PROTOCOLS=torrent - UN_CMDHOOK_0_COMMAND=chmod -R g+rw "{{ .Path }}" - UN_CMDHOOK_0_EXTRACTED=true - UN_CMDHOOK_0_SHELL=true volumes: - /srv:/data restart: unless-stopped recyclarr: image: ghcr.io/recyclarr/recyclarr container_name: recyclarr user: 1001:1001 environment: - TZ=America/Los_Angeles - CRON_SCHEDULE=0 4 * * * volumes: - ./recyclarr-config:/config restart: unless-stopped # If you add a download client later, mount it the same way: # qbittorrent: # image: linuxserver/qbittorrent # container_name: qbittorrent # environment: # - PUID=1001 # - PGID=1001 # - TZ=America/Los_Angeles # - UMASK=002 # ports: # - 8080:8080 # volumes: # - ./qbittorrent-config:/config # - /srv:/data # restart: unless-stopped