basic Matrix installation with default SQlite db
diff --git a/apps/matrix/install.yaml b/apps/matrix/install.yaml
new file mode 100644
index 0000000..237eb6f
--- /dev/null
+++ b/apps/matrix/install.yaml
@@ -0,0 +1,103 @@
+# ---
+# apiVersion: v1
+# kind: Namespace
+# metadata:
+#   name: app-matrix
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: matrix
+  namespace: app-matrix
+spec:
+  type: ClusterIP
+  selector:
+    app: matrix
+  ports:
+  - name: http
+    port: 80
+    targetPort: http
+    protocol: TCP
+---
+apiVersion: networking.k8s.io/v1
+kind: Ingress
+metadata:
+  name: ingress
+  namespace: app-matrix
+  # annotations:
+  #   cert-manager.io/cluster-issuer: "letsencrypt-prod"
+  #   acme.cert-manager.io/http01-edit-in-place: "true"
+spec:
+  ingressClassName: nginx
+  tls:
+  - hosts:
+    - matrix.lekva.me
+    # secretName: cert-matrix.lekva.me
+    secretName: cert-wildcard.lekva.me
+  rules:
+  - host: matrix.lekva.me
+    http:
+      paths:
+      - path: /
+        pathType: Prefix
+        backend:
+          service:
+            name: matrix
+            port:
+              name: http
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: matrix
+  namespace: app-matrix
+spec:
+  selector:
+    matchLabels:
+      app: matrix
+  replicas: 1
+  template:
+    metadata:
+      labels:
+        app: matrix
+    spec:
+      volumes:
+      - name: data
+        persistentVolumeClaim:
+          claimName: matrix-data
+      containers:
+      - name: matrix
+        image: matrixdotorg/synapse:v1.43.0
+        imagePullPolicy: IfNotPresent
+        ports:
+        - name: http
+          containerPort: 8008
+          protocol: TCP
+        env:
+        - name: SYNAPSE_SERVER_NAME
+          value: "lekva.me"
+        - name: SYNAPSE_REPORT_STATS
+          value: "no"
+        - name: SYNAPSE_CONFIG_DIR
+          value: "/data"
+        - name: SYNAPSE_DATA_DIR
+          value: "/data"
+        # - name: SYNAPSE_CONFIG_PATH
+        #   value: "/etc/matrix/homeserver.yaml"
+        command: ["/start.py"]
+        # args: ["generate"]
+        volumeMounts:
+        - name: data
+          mountPath: /data
+---
+apiVersion: v1
+kind: PersistentVolumeClaim
+metadata:
+  name: matrix-data
+  namespace: app-matrix
+spec:
+  accessModes:
+    - ReadWriteOnce
+  resources:
+    requests:
+      storage: 100Gi
diff --git a/scripts/homelab/k3s-install.sh b/scripts/homelab/k3s-install.sh
index 26c7eab..71233a7 100755
--- a/scripts/homelab/k3s-install.sh
+++ b/scripts/homelab/k3s-install.sh
@@ -166,24 +166,26 @@
 #      --set prometheus.ingress.pathType=Prefix
 
 # # kubectl apply -f ../../apps/pihole/install.yaml
-helm upgrade --create-namespace \
-     --namespace pihole \
-     pihole mojo2600/pihole \
-     --set ingress.enabled=true \
-     --set ingress.hosts={"pihole.pcloud"} \
-     --set ingress.tls[0].hosts[0]="pihole.pcloud" \
-     --set ingress.tls[0].secretName="cert-pihole.pcloud" \
-     --set ingress.annotations."kubernetes\.io/ingress\.class"="nginx-private" \
-     --set ingress.annotations."cert-manager\.io/cluster-issuer"="selfsigned-ca" \
-     --set ingress.annotations."acme\.cert-manager\.io/http01-edit-in-place"="\"true\"" \
-     --set serviceDhcp.enabled=false \
-     --set serviceDns.type=LoadBalancer \
-     --set serviceWeb.type=ClusterIP \
-     --set serviceWeb.https.enabled=false \
-     --set virtualHost="pihole.pcloud"
+# helm install --create-namespace \
+#      --namespace pihole \
+#      pihole mojo2600/pihole \
+#      --set persistentVolumeClaim.enabled=true \
+#      --set persistentVolumeClaim.size="5Gi" \
+#      --set ingress.enabled=true \
+#      --set ingress.hosts={"pihole.pcloud"} \
+#      --set ingress.tls[0].hosts[0]="pihole.pcloud" \
+#      --set ingress.tls[0].secretName="cert-pihole.pcloud" \
+#      --set ingress.annotations."kubernetes\.io/ingress\.class"="nginx-private" \
+#      --set ingress.annotations."cert-manager\.io/cluster-issuer"="selfsigned-ca" \
+#      --set ingress.annotations."acme\.cert-manager\.io/http01-edit-in-place"="\"true\"" \
+#      --set serviceDhcp.enabled=false \
+#      --set serviceDns.type=LoadBalancer \
+#      --set serviceWeb.type=ClusterIP \
+#      --set serviceWeb.https.enabled=false \
+#      --set virtualHost="pihole.pcloud"
 
 # kubectl apply -f cert-manager-webhook-gandi/rbac.yaml
-# helm upgrade --namespace cert-manager  \
+# helm install --namespace cert-manager  \
 #      cert-manager-webhook-gandi ./cert-manager-webhook-gandi/deploy/cert-manager-webhook-gandi \
 #      --set image.repository=giolekva/cert-manager-webhook-gandi \
 #      --set image.tag=latest \
@@ -194,3 +196,33 @@
 
 # kubectl apply -f ../../apps/maddy/install.yaml
 # kubectl apply -f maddy-config.yaml
+## maddyctl -config /etc/maddy/config/maddy.conf creds create *****@lekva.me
+## maddyctl -config /etc/maddy/config/maddy.conf imap-acct create *****@lekva.me
+
+# kubectl apply -f ../../apps/nebula/install.yaml
+# kubectl create configmap \
+# 	-n app-nebula \
+# 	lighthouse-cert \
+# 	--from-file ../../apps/nebula/lighthouse-cert/
+# kubectl create configmap \
+# 	-n app-nebula \
+# 	ca-cert \
+# 	--from-file ../../apps/nebula/ca-cert/ca.crt
+# kubectl create configmap \
+# 	-n app-nebula \
+# 	lighthouse-config \
+# 	--from-file ../../apps/nebula/lighthouse.yaml
+
+kubectl apply -f ../../apps/matrix/install.yaml
+# kubectl create configmap \
+# 	-n app-matrix \
+# 	config \
+# 	--from-file ../../apps/matrix/homeserver.yaml
+# kubectl apply -f www.yaml
+##kubectl rollout restart deployment/nginx -n www
+## kubectl cp app-matrix/matrix-7dd48659c9-p5mpq:/data/homeserver.yaml $(pwd)/../../apps/matrix/homeserver.yaml
+## Modify homeserver.yaml and copy back
+
+
+## kubectl -n ingress-nginx get secret cert-wildcard.lekva.me -o yaml > cert-wildcard.lekva.me.yaml
+## kubectl apply -f cert-wildcard.lekva.me.yaml -n app-matrix