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