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