apiVersion: apps/v1 kind: StatefulSet metadata: name: sonarr-db namespace: media labels: app: sonarr-db spec: replicas: 1 serviceName: sonarr-db selector: matchLabels: app: sonarr-db template: metadata: labels: app: sonarr-db spec: securityContext: runAsUser: 1027 runAsGroup: 100 fsGroup: 100 containers: - name: postgres image: postgres:14.21 env: - name: POSTGRES_DB valueFrom: secretKeyRef: name: media-db-credentials key: SONARR_DB_NAME - name: POSTGRES_USER valueFrom: secretKeyRef: name: media-db-credentials key: SONARR_DB_USER - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: media-db-credentials key: SONARR_DB_PASSWORD - name: PGDATA value: /var/lib/postgresql/data/pgdata ports: - containerPort: 5432 name: postgres protocol: TCP livenessProbe: tcpSocket: port: 5432 initialDelaySeconds: 30 periodSeconds: 30 failureThreshold: 5 readinessProbe: tcpSocket: port: 5432 initialDelaySeconds: 5 periodSeconds: 10 volumeMounts: - name: data mountPath: /var/lib/postgresql/data volumes: - name: data persistentVolumeClaim: claimName: sonarr-db