--- apiVersion: apps/v1 kind: Deployment metadata: name: sonarr namespace: media spec: selector: matchLabels: app: sonarr template: metadata: labels: app: sonarr spec: restartPolicy: Always containers: - image: ghcr.io/hotio/sonarr imagePullPolicy: Always name: sonarr env: - name: TZ value: Australia/Melbourne - name: PUID value: '1000' - name: PGID value: '1000' - name: UMASK value: '002' ports: - containerPort: 8989 name: web protocol: TCP volumeMounts: - mountPath: /data name: sonarr-data - mountPath: /config name: sonarr-config volumes: - name: sonarr-data persistentVolumeClaim: claimName: data - name: sonarr-config persistentVolumeClaim: claimName: sonarr-config --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: sonarr-config namespace: media spec: storageClassName: zfs-fast accessModes: - ReadWriteOnce resources: requests: storage: 1Gi --- apiVersion: v1 kind: Service metadata: labels: app: sonarr name: sonarr namespace: media spec: ports: - name: web port: 8989 protocol: TCP targetPort: 8989 selector: app: sonarr type: ClusterIP --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sonarr-ingress namespace: media spec: ingressClassName: haproxy rules: - host: sonarr.ntwl.xyz http: paths: - backend: service: name: sonarr port: name: web path: / pathType: Prefix