Add support for Paperless AI API token and environment variables #10

Merged
marko merged 1 commits from patch-paperless-ai into main 2025-07-06 17:40:33 +00:00
4 changed files with 72 additions and 7 deletions
Showing only changes of commit f9df49ddd1 - Show all commits

View File

@ -1,7 +1,7 @@
apiVersion: v2 apiVersion: v2
name: paperless-ai name: paperless-ai
description: Ein Helm Chart für Paperless AI, basierend auf der Docker Compose Konfiguration. description: Ein Helm Chart für Paperless AI, basierend auf der Docker Compose Konfiguration.
version: 0.5.0 version: 0.6.0
appVersion: 3.0.7 appVersion: 3.0.7
keywords: keywords:
- paperless-ai - paperless-ai

View File

@ -65,3 +65,20 @@ Erstellt den Namen des zu verwendenden Service Accounts.
{{ default "default" .Values.serviceAccount.name }} {{ default "default" .Values.serviceAccount.name }}
{{- end -}} {{- end -}}
{{- end -}} {{- end -}}
{{/*
Generiert den Inhalt der .env-Datei aus den Werten in .Values.secretEnv
*/}}
{{- define "generateEnv" -}}
{{- if .Values.paperless.apiUrl }}PAPERLESS_API_URL={{ .Values.paperless.apiUrl }}{{ "\n" }}{{- end }}
{{- if .Values.ai.provider }}AI_PROVIDER={{ .Values.ai.provider }}{{ "\n" }}{{- end }}
{{- if .Values.ai.addProcessedTag }}ADD_AI_PROCESSED_TAG={{ .Values.ai.addProcessedTag }}{{ "\n" }}{{- end }}
{{- if .Values.ai.processedTagName }}AI_PROCESSED_TAG_NAME={{ .Values.ai.processedTagName }}{{ "\n" }}{{- end }}
{{- if .Values.prompt.useTags }}USE_PROMPT_TAGS={{ .Values.prompt.useTags }}{{ "\n" }}{{- end }}
{{- if .Values.prompt.tags }}PROMPT_TAGS={{ .Values.prompt.tags }}{{ "\n" }}{{- end }}
{{- if .Values.scanInterval }}SCAN_INTERVAL={{ .Values.scanInterval }}{{ "\n" }}{{- end }}
{{- if .Values.systemPrompt }}SYSTEM_PROMPT=`{{ .Values.systemPrompt }}`{{ "\n" }}{{- end }}
{{- if .Values.processPredefinedDocuments }}PROCESS_PREDEFINED_DOCUMENTS={{ .Values.processPredefinedDocuments }}{{ "\n" }}{{- end }}
TAGS={{ .Values.tags }}{{ "\n" }}
{{- if .Values.openAi.model }}OPENAI_MODEL={{ .Values.openAi.model }}{{ "\n" }}{{- end }}
{{- end }}

View File

@ -0,0 +1,11 @@
{{- if .Values.paperless.apiToken }}
apiVersion: v1
kind: Secret
metadata:
name: {{ include "paperless-ai.fullname" . }}
labels:
{{- include "paperless-ai.labels" . | nindent 4 }}
type: Opaque
data:
PAPERLESS_API_TOKEN: {{ .Values.paperless.apiToken | b64enc | quote }}
{{- end }}

View File

@ -1,3 +1,40 @@
# paperless-ai config
paperless:
apiUrl: "http://paperless-ngx:8000"
apiToken:
ai:
provider: "openai"
addProcessedTag: yes
processedTagName: ai-processed
prompt:
useTags: yes
tags: Rechnung,Kontoauszug,Vertrag,Arbeitgeber
openAi:
apiKey:
model: "gpt-4o-mini"
ollama:
apiUrl: ""
model: ""
scanInterval: "*/30 * * * *"
systemPrompt: |-
Return the result EXCLUSIVELY as a JSON object. The Tags and Title MUST be in the language that is used in the document.:
{
"title": "xxxxx",
"correspondent": "xxxxxxxx",
"tags": ["Tag1", "Tag2", "Tag3", "Tag4"],
"document_date": "YYYY-MM-DD",
"language": "en/de/es/..."
}
processPredefinedDocuments: "no"
tags: "indexed,indexed2"
replicaCount: 1 replicaCount: 1
image: image:
@ -28,13 +65,13 @@ persistence:
size: 1Gi size: 1Gi
livenessProbe: livenessProbe:
initialDelaySeconds: 60 initialDelaySeconds: 30
httpGet: httpGet:
path: / path: /
# path: /health # path: /health
port: http port: http
readinessProbe: readinessProbe:
initialDelaySeconds: 60 initialDelaySeconds: 30
httpGet: httpGet:
path: / path: /
# path: /health # path: /health
@ -63,11 +100,11 @@ autoscaling:
# Ressourcenanforderungen und -limits für den Container. # Ressourcenanforderungen und -limits für den Container.
resources: resources:
limits: limits:
cpu: 100m cpu: 300m
memory: 128Mi memory: 640Mi
requests: requests:
cpu: 100m cpu: 100m
memory: 128Mi memory: 256Mi
# Node-Selector für die Pod-Platzierung. # Node-Selector für die Pod-Platzierung.
nodeSelector: {} nodeSelector: {}