apiVersion: apps/v1 kind: Deployment metadata: name: sonarr namespace: default labels: app: sonarr spec: replicas: 1 selector: matchLabels: app: sonarr template: metadata: labels: app: sonarr spec: containers: - name: sonarr image: ghcr.io/linuxserver/sonarr@sha256:3f193d343c1225676c1ea0547c5022fd83c4459a493870179dff9e87c54dbbc9 imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/New_York resources: requests: memory: "256Mi" cpu: "300m" limits: memory: "750Mi" cpu: "500" volumeMounts: - mountPath: /config name: sonarr-config - mountPath: /data name: nas volumes: - name: nas nfs: path: /mnt/thePool/thePoolShare server: 10.0.0.10 - name: sonarr-config persistentVolumeClaim: claimName: sonarr-config --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sonarr-config namespace: default spec: accessModes: - ReadWriteOnce resources: requests: storage: 2Gi storageClassName: longhorn --- apiVersion: v1 kind: Service metadata: name: headless-sonarr namespace: default spec: selector: app: sonarr ports: - port: 8989 targetPort: 8989 protocol: TCP --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: sonarr namespace: default annotations: kubernetes.io/ingress.class: traefik-external spec: entryPoints: - websecure routes: - match: Host(`sonarr.local.mafyuh.com`) kind: Rule services: - name: headless-sonarr port: 8989 middlewares: - name: default-headers tls: secretName: local-mafyuh-com-production-tls