services: jellyfin: image: lscr.io/linuxserver/jellyfin container_name: jellyfin networks: - proxy - media group_add: - ${JF_RENDER_GROUP} environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} - DOCKER_MODS=linuxserver/mods:jellyfin-amd volumes: - ${APPS_DIR}/jellyfin:/config - ${DATA_DIR}/media/movies:/data/movies:ro - ${DATA_DIR}/media/tvshows:/data/tvshows:ro - ${DATA_DIR}/media/music:/data/music:ro ports: - 8096:8096 devices: - /dev/dri/renderD128:/dev/dri/renderD128 - /dev/dri/card0:/dev/dri/card0 restart: unless-stopped minidlna: image: vladgh/minidlna container_name: minidlna # You need to run the container in host mode for it to be able to receive UPnP broadcast packets. network_mode: host environment: - MINIDLNA_PORT=${MINIDLNA_PORT} - MINIDLNA_MEDIA_DIR=${MINIDLNA_MEDIA_DIR} - MINIDLNA_FRIENDLY_NAME=${MINIDLNA_FRIENDLY_NAME} volumes: - ${DATA_DIR}/media/music:/media radarr: image: lscr.io/linuxserver/radarr container_name: radarr networks: - media environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} volumes: - ${APPS_DIR}/radarr:/config - ${DATA_DIR}/media/movies:/movies - ${DATA_DIR}/downloads:/downloads ports: - 7878:7878 restart: unless-stopped sonarr: image: lscr.io/linuxserver/sonarr container_name: sonarr networks: - media environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} volumes: - ${APPS_DIR}/sonarr:/config - ${DATA_DIR}/media/tvshows:/tvshows - ${DATA_DIR}/downloads:/downloads ports: - 8989:8989 restart: unless-stopped prowlarr: image: lscr.io/linuxserver/prowlarr container_name: prowlarr networks: - media environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} volumes: - ${APPS_DIR}/prowlarr:/config ports: - 9696:9696 restart: unless-stopped flaresolverr: image: ghcr.io/flaresolverr/flaresolverr container_name: flaresolverr networks: - media environment: - TZ=${TIMEZONE} ports: - 8191:8191 restart: unless-stopped bazarr: image: lscr.io/linuxserver/bazarr container_name: bazarr networks: - media environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} volumes: - ${APPS_DIR}/bazarr:/config - ${DATA_DIR}/media/movies:/movies - ${DATA_DIR}/media/tvshows:/tvshows ports: - 6767:6767 restart: unless-stopped lidarr: image: lscr.io/linuxserver/lidarr container_name: lidarr networks: - media environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} volumes: - ${APPS_DIR}/lidarr:/config - ${DATA_DIR}/media/music:/music - ${DATA_DIR}/downloads:/downloads ports: - 8686:8686 restart: unless-stopped qbittorrent: image: linuxserver/qbittorrent container_name: qbittorrent environment: - PUID=${PUID} - PGID=${PGID} - TZ=${TIMEZONE} - UMASK_SET=022 - WEBUI_PORT=8183 network_mode: "container:gluetun" volumes: - ${APPS_DIR}/qbittorrent/config:/config - ${DATA_DIR}/downloads:/downloads - ${APPS_DIR}/qbittorrent/vuetorrent:/vuetorrent restart: unless-stopped ytdl-material: image: tzahi12345/youtubedl-material:sha-208cd83 container_name: ytdl-material networks: - media environment: - UID=${PUID} - GID=${PGID} - ALLOW_CONFIG_MUTATIONS=true volumes: - ${APPS_DIR}/ytdl-material:/app/appdata - ${DATA_DIR}/ytdl/audio:/app/audio - ${DATA_DIR}/ytdl/video:/app/video - ${DATA_DIR}/ytdl/subscriptions:/app/subscriptions - ${DATA_DIR}/ytdl/users:/app/users ports: - "8998:17442" restart: unless-stopped networks: proxy: external: name: proxy media: name: media