Sonarr Prerequisites This guide assumes you have the following prerequisites in place:
Sonarr Sonarr is an open-source TV show management tool that allows users to automate the process of downloading and organizing TV shows for their media library.
Installation Create the following directory structure for Sonarr: sonarr/
├── sonarr.yml
├── sonarr-ingress.yml
├── sonarr-pvc.yml
└── sonarr-svc.yml Add the following content to sonarr/sonarr.yml:---
apiVersion : apps/v1
kind : Deployment
metadata :
name : sonarr
namespace : arr-stack
spec :
strategy :
type : Recreate
replicas : 1
selector :
matchLabels :
app : sonarr
template :
metadata :
labels :
app : sonarr
spec :
containers :
- name : sonarr
image : lscr.io/linuxserver/sonarr:4.0.16
ports :
- containerPort : 8989
env :
- name : PUID
value : "1000"
- name : PGID
value : "1000"
- name : TZ
value : "Etc/UTC"
volumeMounts :
- name : config
mountPath : /config
- name : tv
mountPath : /tv
- name : downloads
mountPath : /downloads
volumes :
- name : config
persistentVolumeClaim :
claimName : sonarr-longhorn
- name : downloads
nfs :
server : <IP_ADDRESS>
path : <PATH>
- name : tv
nfs :
server : <IP_ADDRESS>
path : <PATH> Add the following content to sonarr/sonarr-ingress.yml:---
apiVersion : networking.k8s.io/v1
kind : Ingress
metadata :
name : sonarr-ingress
namespace : arr-stack
annotations :
cert-manager.io/cluster-issuer : letsencrypt-cloudflare
traefik.ingress.kubernetes.io/router.middlewares : tools-authelia@kubernetescrd
traefik.ingress.kubernetes.io/router.entrypoints : websecure
spec :
ingressClassName : traefik
tls :
- hosts :
- sonarr.example.com
secretName : sonarr-tls
rules :
- host : sonarr.example.com
http :
paths :
- path : /
pathType : Prefix
backend :
service :
name : sonarr-service
port :
number : 8989 Add the following content to sonarr/sonarr-pvc.yml:---
apiVersion : v1
kind : PersistentVolumeClaim
metadata :
name : sonarr-longhorn
namespace : arr-stack
spec :
accessModes :
- ReadWriteOnce
volumeMode : Filesystem
resources :
requests :
storage : 5Gi
storageClassName : longhorn Add the following content to sonarr/sonarr-svc.yml:---
apiVersion : v1
kind : Service
metadata :
name : sonarr-service
namespace : arr-stack
spec :
selector :
app : sonarr
ports :
- port : 8989
targetPort : 8989 Commit and push the files to your git repository.