--- apiVersion: apps/v1 kind: Deployment metadata: name: paperless-ai namespace: paperless labels: app: paperless-ai spec: replicas: 1 selector: matchLabels: app: paperless-ai template: metadata: labels: app: paperless-ai spec: containers: - name: paperless-ai image: clusterzx/paperless-ai:latest imagePullPolicy: Always ports: - containerPort: 3000 name: http env: - name: NODE_ENV value: production - name: PAPERLESS_AI_PORT value: "3000" resources: requests: memory: 256Mi cpu: 100m limits: memory: 512Mi cpu: 500m livenessProbe: httpGet: path: /health port: 3000 initialDelaySeconds: 30 periodSeconds: 10 readinessProbe: httpGet: path: /health port: 3000 initialDelaySeconds: 5 periodSeconds: 5 --- apiVersion: v1 kind: Service metadata: name: paperless-ai namespace: paperless labels: app: paperless-ai spec: type: ClusterIP ports: - port: 3000 targetPort: 3000 protocol: TCP name: http selector: app: paperless-ai --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: paperless-ai-ingress namespace: paperless annotations: ingressClassName: traefik cert-manager.io/cluster-issuer: letsencrypt traefik.ingress.kubernetes.io/router.middlewares: kube-system-https-redirect@kubernetescrd acme.cert-manager.io/http01-edit-in-place: "true" spec: rules: - host: docs.hexor.cy http: paths: - path: /ai pathType: Prefix backend: service: name: paperless-ai port: number: 3000 tls: - secretName: paperless-ai-tls hosts: - docs.hexor.cy