Media

A full self-hosted media pipeline, pinned to a single node with local SSD storage.

Every service in this group has its own page documenting how it runs: the values it is deployed with, and the trade-offs behind those choices.

Service What it does
Bazarr Fetches and syncs subtitles for everything Sonarr and Radarr download
FlareSolverr Solves Cloudflare challenges so Prowlarr can reach protected indexers
Jellyfin Media server that streams the shared library to every screen in the house
Prowlarr Manages the torrent indexers and feeds them to Sonarr, Radarr, and qBittorrent
qBittorrent The download workhorse: pulls torrents to the media NAS and seeds them back
Radarr Watches for movie releases, grabs them, and hands them to the download stack
Seerr Where the household requests films and shows; approvals flow into Radarr and Sonarr
Sonarr Watches for new TV episodes, grabs them, and hands them to the download stack
Tdarr Transcodes and optimises the library so files play efficiently on every device
Whisper Turns audio into text with local speech-to-text models

Chart values

The services in this group share one source of truth. ArgoCD deploys them from a single chart, and the chart renders every service with exactly the values below, so the values live here on the group page rather than being repeated on each service page.

########################################
### Name of the project - Many variable
########################################
global:
  projectName: media-systems
  hostMediaMountPath: /mnt/ssd-large/media
  configBasePath: /mnt/ssd-small/media-systems-config
  timeZone: Europe/London
  userID: 1000
  nodeSelector:
    kubernetes.io/hostname: opi5-worker-5-genai
  tolerations:
    - key: opi5.cluster/role
      operator: Equal
      value: data
      effect: NoSchedule

##################################
### Applications configuration ###
##################################
applications:
  bazarr:
    name: bazarr
    image: registry.opi5cluster.co.uk/media-systems/bazarr:1.6.0
    configMount: /config
    seriesMount: /data/movies
    moviesMount: /data/tvshows
    usePostgres: true
    configExtension: yaml
    ports:
      http: 6767

  flaresolverr:
    name: flaresolverr
    image: registry.opi5cluster.co.uk/media-systems/flaresolverr:v3.5.0
    logLevel: info
    logHtml: false
    captchaSolver: none
    usePostgres: false
    ports:
      http: 8191

  jellyfin:
    name: jellyfin
    image: registry.opi5cluster.co.uk/media-systems/jellyfin:10.11.11
    configMount: /config
    seriesMount: /data/series
    moviesMount: /data/movies
    animeMount: /data/anime
    othersMount: /data/others
    ## Expose to be able to reach jellyfin from the TV
    LoadBalancerIP: 192.168.1.9
    usePostgres: false
    ports:
      http: 8096

  seerr:
    name: seerr
    image: registry.opi5cluster.co.uk/media-systems/seerr:v3.4.1
    configMount: /app/config
    usePostgres: false
    ports:
      http: 5055

  prowlarr:
    name: prowlarr
    image: registry.opi5cluster.co.uk/media-systems/prowlarr:2.5.2
    configMount: /config
    usePostgres: true
    configExtension: xml
    ports:
      http: 9696

  qbittorrent:
    name: qbittorrent
    image: registry.opi5cluster.co.uk/media-systems/qbittorrent:5.2.3
    configMount: /config/qBittorrent
    downloadMount: /downloads
    usePostgres: true
    configExtension: conf
    ports:
      http: 8090
      torrent: 6881

  radarr:
    name: radarr
    image: registry.opi5cluster.co.uk/media-systems/radarr:6.3.0
    configMount: /config
    downloadMount: /downloads
    mediaMount: /
    usePostgres: true
    configExtension: xml
    ports:
      http: 7878

  sonarr:
    name: sonarr
    image: registry.opi5cluster.co.uk/media-systems/sonarr:4.0.19
    configMount: /config
    downloadMount: /downloads
    mediaMount: /
    usePostgres: true
    configExtension: xml
    ports:
      http: 8989

  tdarr:
    name: tdarr
    image: registry.opi5cluster.co.uk/media-systems/tdarr:2.86.01
    configMount: /app/configs
    serverMount: /app/server
    logsMount: /app/logs
    cacheMount: /cache
    usePostgres: false
    ports:
      http: 8265
      server: 8266

  whisper:
    name: whisper
    image: registry.opi5cluster.co.uk/media-systems/whisper:v1.10.0
    model: small
    usePostgres: false
    ports:
      http: 9000

Source: media-systems/values.yaml

← All service groups