--- apiVersion: apps/v1 kind: Deployment metadata: labels: app: sonarr name: sonarr spec: replicas: 1 selector: matchLabels: app: sonarr strategy: type: Recreate template: metadata: labels: app: sonarr spec: containers: - image: linuxserver/sonarr:latest name: sonarr ports: - containerPort: 8989 protocol: TCP volumeMounts: - mountPath: /config/ name: sonarr-config-volume - mountPath: /downloads/ name: sonarr-downloads-volume - mountPath: /tv/ name: sonarr-tv-volume restartPolicy: Always volumes: - name: sonarr-config-volume persistentVolumeClaim: claimName: sonarr-config-pvc - name: sonarr-tv-volume persistentVolumeClaim: claimName: sonarr-tv-pvc - name: sonarr-downloads-volume persistentVolumeClaim: claimName: sonarr-downloads-pvc --- apiVersion: v1 kind: Service metadata: labels: app: sonarr name: sonarr-svc spec: ports: - name: "8989" port: 8989 targetPort: 8989 nodePort: 31898 type: NodePort selector: app: sonarr --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sonarr-http annotations: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - host: sonarr.reticulum.lan http: paths: - path: / pathType: Prefix backend: service: name: sonarr-svc port: number: 8989 - host: sonarr.argentumcation.com http: paths: - path: / pathType: Prefix backend: service: name: sonarr-svc port: number: 8989 - host: sonarr.xn--2dkua.xn--tckwe http: paths: - path: / pathType: Prefix backend: service: name: sonarr-svc port: number: 8989 --- apiVersion: v1 kind: PersistentVolume metadata: name: sonarr-config-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" nfs: path: /mnt/raid/00_meta/02_services/sonarr server: 192.168.1.146 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sonarr-config-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi volumeName: sonarr-config-pv storageClassName: "" --- apiVersion: v1 kind: PersistentVolume metadata: name: sonarr-downloads-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" nfs: path: /mnt/raid/00_meta/01_downloads/ server: 192.168.1.146 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sonarr-downloads-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi volumeName: sonarr-downloads-pv storageClassName: "" --- apiVersion: v1 kind: PersistentVolume metadata: name: sonarr-tv-pv spec: capacity: storage: 100Gi accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: "" nfs: path: /mnt/raid/30_media/31_tv/ server: 192.168.1.146 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sonarr-tv-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Gi volumeName: sonarr-tv-pv storageClassName: ""