add valkey to paperless

This commit is contained in:
Morten Olsen
2026-01-08 12:30:52 +01:00
parent 56232a1569
commit d79d3bfaba
4 changed files with 107 additions and 3 deletions

View File

@@ -1 +1,17 @@
{{ include "common.pvc" . }} {{ include "common.pvc" . }}
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: "{{ .Release.Name }}-valkey-data"
labels:
{{- include "common.labels" . | nindent 4 }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: {{ .Values.valkey.storage.size | default "1Gi" }}
{{- if .Values.valkey.storage.storageClassName }}
storageClassName: {{ .Values.valkey.storage.storageClassName }}
{{- end }}

View File

@@ -0,0 +1,63 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: "{{ .Release.Name }}-valkey"
labels:
{{- include "common.labels" . | nindent 4 }}
app: "{{ .Release.Name }}-valkey"
spec:
strategy:
type: Recreate
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: "{{ .Release.Name }}-valkey"
template:
metadata:
labels:
app: "{{ .Release.Name }}-valkey"
spec:
initContainers:
- name: fix-permissions
image: busybox:latest
command: ['sh', '-c']
args:
- |
mkdir -p /data
chown -R 999:999 /data || chown -R 0:0 /data
chmod -R 755 /data
securityContext:
runAsUser: 0
volumeMounts:
- name: data
mountPath: /data
containers:
- name: "{{ .Release.Name }}-valkey"
image: "{{ .Values.valkey.image.repository }}:{{ .Values.valkey.image.tag }}"
imagePullPolicy: "{{ .Values.valkey.image.pullPolicy }}"
ports:
- name: tcp
containerPort: 6379
protocol: TCP
volumeMounts:
- name: data
mountPath: /data
command:
- valkey-server
- --appendonly
- "no"
- --save
- ""
- --stop-writes-on-bgsave-error
- "no"
livenessProbe:
tcpSocket:
port: tcp
readinessProbe:
tcpSocket:
port: tcp
volumes:
- name: data
persistentVolumeClaim:
claimName: "{{ .Release.Name }}-valkey-data"

View File

@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: "{{ .Release.Name }}-valkey"
labels:
{{- include "common.labels" . | nindent 4 }}
app: "{{ .Release.Name }}-valkey"
spec:
ports:
- port: 6379
targetPort: tcp
protocol: TCP
name: tcp
selector:
app: "{{ .Release.Name }}-valkey"

View File

@@ -121,9 +121,9 @@ env:
secretKeyRef: secretKeyRef:
name: "{release}-connection" name: "{release}-connection"
key: password key: password
# Redis configuration (external Redis required) # Redis/Valkey configuration
# Update these values to point to your Redis instance PAPERLESS_REDIS:
PAPERLESS_REDIS: redis://redis.shared.svc.cluster.local:6379 value: "redis://{release}-valkey.{namespace}.svc.cluster.local:6379"
# OIDC configuration using django-allauth # OIDC configuration using django-allauth
PAPERLESS_ENABLE_ALLAUTH: "true" PAPERLESS_ENABLE_ALLAUTH: "true"
PAPERLESS_APPS: "allauth.socialaccount.providers.openid_connect" PAPERLESS_APPS: "allauth.socialaccount.providers.openid_connect"
@@ -146,3 +146,13 @@ env:
secretKeyRef: secretKeyRef:
name: "{release}-oidc-credentials" name: "{release}-oidc-credentials"
key: issuer key: issuer
# Valkey (Redis-compatible) configuration
valkey:
image:
repository: valkey/valkey
tag: latest
pullPolicy: IfNotPresent
storage:
size: 1Gi
storageClassName: persistent