# ================================ # UPTIME KUMA - SIMPLE DEPLOYMENT # https://uptime.kuma.pet/?ref=selfh.st # ================================ --- apiVersion: v1 kind: PersistentVolume metadata: name: uptime-kuma-pv spec: capacity: storage: 500Mi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: uptime-kuma-local local: path: /home/kimjunte/k8s_storage/uptime-kuma nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - mist --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: uptime-kuma-pvc spec: accessModes: - ReadWriteOnce storageClassName: uptime-kuma-local resources: requests: storage: 500Mi --- apiVersion: apps/v1 kind: Deployment metadata: name: uptime-kuma labels: app: uptime-kuma spec: replicas: 1 selector: matchLabels: app: uptime-kuma template: metadata: labels: app: uptime-kuma spec: nodeSelector: kubernetes.io/hostname: mist containers: - name: uptime-kuma image: louislam/uptime-kuma:latest ports: - containerPort: 3001 env: - name: PUID value: "1000" - name: PGID value: "1000" volumeMounts: - name: uptime-kuma-data mountPath: /app/data volumes: - name: uptime-kuma-data persistentVolumeClaim: claimName: uptime-kuma-pvc --- apiVersion: v1 kind: Service metadata: name: uptime-kuma spec: selector: app: uptime-kuma ports: - port: 3001 targetPort: 3001 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: uptime-kuma-ingressroute spec: entryPoints: - websecure routes: - match: Host(`uptime.kuma.juntekim.com`) kind: Rule services: - name: uptime-kuma port: 3001 tls: certResolver: myresolver domains: - main: uptime.kuma.juntekim.com