diff --git a/kubernetes/README.md b/kubernetes/README.md
index 9632673b..5b168782 100644
--- a/kubernetes/README.md
+++ b/kubernetes/README.md
@@ -42,6 +42,10 @@ patches:
     - op: replace
       path: /data/DOCSPELL_SERVER_BACKEND_JDBC_PASSWORD
       value: ZGJwYXNzMg== # dbpass2
+- target:
+    kind: Secret
+    name: joex-secrets
+  patch: |-
     - op: replace
       path: /data/DOCSPELL_JOEX_JDBC_PASSWORD
       value: ZGJwYXNzMg== # dbpass2
@@ -59,4 +63,4 @@ To deploy a basic installation using the Kubernetes manifests, you can use the f
 
 ``` shell
 kubectl apply -f https://raw.githubusercontent.com/eikek/docspell/master/kubernetes
-```
\ No newline at end of file
+```
diff --git a/kubernetes/ingress.yaml b/kubernetes/ingress.yaml
index 8798bb54..679752f5 100644
--- a/kubernetes/ingress.yaml
+++ b/kubernetes/ingress.yaml
@@ -2,31 +2,15 @@ apiVersion: networking.k8s.io/v1
 kind: Ingress
 metadata:
   name: docspell-ingress
-  annotations:
-    nginx.ingress.kubernetes.io/rewrite-target: /$1
 spec:
   rules:
     - host: docspell.example.com
       http:
         paths:
-          - path: /restserver(/|$)(.*)
+          - path: /
             pathType: Prefix
             backend:
               service:
-                name: docspell-restserver
+                name: restserver
                 port:
                   name: http
-          - path: /joex(/|$)(.*)
-            pathType: Prefix
-            backend:
-              service:
-                name: docspell-joex
-                port:
-                  name: http
-          - path: /solr(/|$)(.*)
-            pathType: Prefix
-            backend:
-              service:
-                name: docspell-solr
-                port:
-                  name: solr
diff --git a/kubernetes/postgres.yaml b/kubernetes/postgres.yaml
index 13d78e72..d7f298fc 100644
--- a/kubernetes/postgres.yaml
+++ b/kubernetes/postgres.yaml
@@ -35,6 +35,7 @@ spec:
           volumeMounts:
             - name: postgres-data
               mountPath: /var/lib/postgresql/data
+              subPath: pgdata
   volumeClaimTemplates:
     - metadata:
         name: postgres-data
@@ -55,4 +56,4 @@ spec:
     - name: postgres
       port: 5432
       targetPort: postgres
-  clusterIP: None
\ No newline at end of file
+  clusterIP: None
diff --git a/kubernetes/solr.yaml b/kubernetes/solr.yaml
index 0deef8ac..9192d831 100644
--- a/kubernetes/solr.yaml
+++ b/kubernetes/solr.yaml
@@ -15,6 +15,16 @@ spec:
       labels:
         app: solr
     spec:
+      initContainers:
+        - name: fix-permissions
+          image: busybox
+          command:
+            - "sh"
+            - "-c"
+            - "chown -R 8983:8983 /var/solr"
+          volumeMounts:
+            - name: solr-data
+              mountPath: /var/solr
       containers:
         - name: solr
           image: solr:9
@@ -24,6 +34,9 @@ spec:
             - docker-entrypoint.sh
             - solr-precreate
             - docspell
+          env:
+            - name: SOLR_OPTS
+              value: "-Dsolr.modules=analysis-extras"
           livenessProbe: # Check for a 302 response
             httpGet:
               path: /solr/admin/info/system