# ================================ # DATABASUS - ALL IN ONE # https://databasus.com # Open-source DB backup management UI # ================================ --- apiVersion: v1 kind: PersistentVolume metadata: name: databasus-pv spec: capacity: storage: 500Mi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: databasus-local-storage local: path: /home/kimjunte/k8s_storage/databasus nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - mist --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: databasus-pvc spec: accessModes: - ReadWriteOnce storageClassName: databasus-local-storage resources: requests: storage: 500Mi --- apiVersion: apps/v1 kind: Deployment metadata: name: databasus labels: app: databasus spec: replicas: 1 selector: matchLabels: app: databasus template: metadata: labels: app: databasus spec: nodeSelector: kubernetes.io/hostname: mist containers: - name: databasus image: databasus/databasus:latest ports: - containerPort: 4005 env: - name: NODE_ENV value: "production" - name: BASE_URL value: "https://databasus.juntekim.com" resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "512Mi" volumeMounts: - name: databasus-data mountPath: /databasus-data volumes: - name: databasus-data persistentVolumeClaim: claimName: databasus-pvc --- apiVersion: v1 kind: Service metadata: name: databasus spec: selector: app: databasus ports: - port: 4005 targetPort: 4005 --- apiVersion: traefik.io/v1alpha1 kind: IngressRoute metadata: name: databasus-ingressroute spec: entryPoints: - websecure routes: - match: Host(`databasus.juntekim.com`) kind: Rule services: - name: databasus port: 4005 tls: certResolver: myresolver domains: - main: databasus.juntekim.com