Files
homelab/k8s/apps/paperless/paperless-ai.yaml

114 lines
2.4 KiB
YAML
Raw Normal View History

2026-01-21 02:21:22 +02:00
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: paperless-ai
labels:
app: paperless-ai
spec:
replicas: 1
selector:
matchLabels:
app: paperless-ai
template:
metadata:
labels:
app: paperless-ai
spec:
2026-01-21 02:38:36 +02:00
nodeSelector:
kubernetes.io/hostname: nas.homenet
2026-01-21 02:21:22 +02:00
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: 512Mi
cpu: 500m
2026-01-21 02:50:25 +02:00
limits:
memory: 1024Mi
cpu: 2000m
2026-01-21 16:36:14 +02:00
#livenessProbe:
# httpGet:
# path: /
# port: 8000
# initialDelaySeconds: 30
# periodSeconds: 10
#readinessProbe:
# httpGet:
# path: /
# port: 8000
# initialDelaySeconds: 5
# periodSeconds: 5
#volumeMounts:
# - name: data
# mountPath: /app/data
volumes:
- name: data
persistentVolumeClaim:
claimName: paperless-ai-data
2026-01-21 02:21:22 +02:00
---
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
2026-01-21 16:36:14 +02:00
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: paperless-ai-data
namespace: paperless
spec:
accessModes:
- ReadWriteOnce
storageClassName: hostpath
resources:
requests:
storage: 10Gi
---
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: paperless-ai-ingress
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: ai-docs.hexor.cy
http:
paths:
- path: /
pathType: Prefix
backend:
service:
name: paperless-ai
port:
number: 3000
tls:
- secretName: docs-tls
hosts:
- '*.hexor.cy'