apiVersion: apps/v1 kind: Deployment metadata: name: authentik-server namespace: authentik spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: authentik-server template: metadata: labels: app: authentik-server spec: containers: - name: authentik image: ghcr.io/goauthentik/server:2026.2.1 command: ["ak"] args: ["server"] ports: - containerPort: 9000 name: http - containerPort: 9443 name: https env: - name: AUTHENTIK_POSTGRESQL__HOST valueFrom: secretKeyRef: name: authentik-secrets key: db_host - name: AUTHENTIK_POSTGRESQL__NAME valueFrom: secretKeyRef: name: authentik-secrets key: db_name - name: AUTHENTIK_POSTGRESQL__USER valueFrom: secretKeyRef: name: authentik-secrets key: db_user - name: AUTHENTIK_POSTGRESQL__PASSWORD valueFrom: secretKeyRef: name: authentik-secrets key: db_password - name: AUTHENTIK_SECRET_KEY valueFrom: secretKeyRef: name: authentik-secrets key: AUTHENTIK_SECRET_KEY - name: AUTHENTIK_EMAIL__HOST valueFrom: secretKeyRef: name: authentik-secrets key: email_host - name: AUTHENTIK_EMAIL__PORT valueFrom: secretKeyRef: name: authentik-secrets key: email_port - name: AUTHENTIK_EMAIL__USERNAME valueFrom: secretKeyRef: name: authentik-secrets key: email_username - name: AUTHENTIK_EMAIL__PASSWORD valueFrom: secretKeyRef: name: authentik-secrets key: email_password - name: AUTHENTIK_EMAIL__FROM valueFrom: secretKeyRef: name: authentik-secrets key: email_from - name: AUTHENTIK_EMAIL__USE_TLS valueFrom: secretKeyRef: name: authentik-secrets key: email_use_tls volumeMounts: - name: data mountPath: /data - name: templates mountPath: /templates - name: dshm mountPath: /dev/shm resources: requests: cpu: 100m memory: 256Mi limits: memory: 1Gi volumes: - name: data persistentVolumeClaim: claimName: authentik-server-data - name: templates emptyDir: {} - name: dshm emptyDir: medium: Memory sizeLimit: 512Mi