apiVersion: apps/v1 kind: Deployment metadata: name: uptimekuma namespace: default spec: replicas: 1 selector: matchLabels: app: uptimekuma strategy: type: Recreate template: metadata: labels: app: uptimekuma spec: containers: - env: - name: PUID value: '1000' - name: PGID value: '1000' image: louislam/uptime-kuma:2 imagePullPolicy: Always livenessProbe: failureThreshold: 3 httpGet: path: / port: 3001 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 60 successThreshold: 1 timeoutSeconds: 1 name: uptimekuma ports: - containerPort: 3001 name: uptimekuma-port protocol: TCP readinessProbe: failureThreshold: 3 httpGet: path: / port: 3001 scheme: HTTP initialDelaySeconds: 5 periodSeconds: 5 successThreshold: 1 timeoutSeconds: 1 resources: limits: cpu: 500m memory: 256Mi requests: cpu: 100m memory: 128Mi terminationMessagePath: /dev/termination-log terminationMessagePolicy: File volumeMounts: - mountPath: /app/data name: uptimekuma-config dnsPolicy: ClusterFirst restartPolicy: Always schedulerName: default-scheduler securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: uptimekuma-config persistentVolumeClaim: claimName: uptimekuma-config status: availableReplicas: 1 conditions: - lastTransitionTime: '2026-05-19T01:51:48Z' lastUpdateTime: '2026-07-22T10:17:49Z' message: ReplicaSet "uptimekuma-5cdbf7d589" has successfully progressed. reason: NewReplicaSetAvailable status: 'True' type: Progressing - lastTransitionTime: '2026-08-28T06:04:55Z' lastUpdateTime: '2026-08-28T06:04:55Z' message: Deployment has minimum availability. reason: MinimumReplicasAvailable status: 'True' type: Available observedGeneration: 94 readyReplicas: 1 replicas: 1 terminatingReplicas: 0 updatedReplicas: 1 --- apiVersion: v1 kind: Service metadata: name: uptimekuma namespace: default spec: internalTrafficPolicy: Cluster ipFamilies: - IPv4 ipFamilyPolicy: SingleStack ports: - port: 3001 protocol: TCP targetPort: uptimekuma-port selector: app: uptimekuma sessionAffinity: None type: ClusterIP status: loadBalancer: {} --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: uptimekuma namespace: default spec: ingressClassName: nginx rules: - host: uptimekuma.haven http: paths: - backend: service: name: uptimekuma port: number: 3001 path: / pathType: Prefix status: loadBalancer: ingress: - ip: 192.168.20.204 --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: uptimekuma-config namespace: default spec: accessModes: - ReadWriteMany resources: requests: storage: 1Gi storageClassName: nfs-client volumeMode: Filesystem status: accessModes: - ReadWriteMany capacity: storage: 1Gi phase: Bound