# ================================ # PAPRA - DOCUMENT MANAGEMENT # https://github.com/papra-hq/papra # ================================ --- apiVersion: v1 kind: PersistentVolume metadata: name: papra-pv spec: capacity: storage: 10Gi volumeMode: Filesystem accessModes: - ReadWriteOnce persistentVolumeReclaimPolicy: Retain storageClassName: papra-local-storage local: path: /home/kimjunte/k8s_storage/papra nodeAffinity: required: nodeSelectorTerms: - matchExpressions: - key: kubernetes.io/hostname operator: In values: - mist --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: papra-pvc spec: accessModes: - ReadWriteOnce storageClassName: papra-local-storage resources: requests: storage: 10Gi --- apiVersion: apps/v1 kind: Deployment metadata: name: papra labels: app: papra spec: replicas: 1 selector: matchLabels: app: papra template: metadata: labels: app: papra spec: nodeSelector: kubernetes.io/hostname: mist containers: - name: papra image: ghcr.io/papra-hq/papra:latest ports: - containerPort: 1221 env: - name: APP_BASE_URL value: "https://papra.juntekim.com" - name: AUTH_SECRET value: "junteAUTH$uperS3cretHomelab2024!!" resources: requests: cpu: "100m" memory: "256Mi" limits: cpu: "500m" memory: "512Mi" volumeMounts: - name: papra-data mountPath: /app/app-data volumes: - name: papra-data persistentVolumeClaim: claimName: papra-pvc --- apiVersion: v1 kind: Service metadata: name: papra spec: selector: app: papra ports: - port: 1221 targetPort: 1221 --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: papra-ingressroute spec: entryPoints: - websecure routes: - match: Host(`papra.juntekim.com`) kind: Rule services: - name: papra port: 1221 tls: certResolver: myresolver domains: - main: papra.juntekim.com