Files
kubernetes/lp/matrix/element.yaml
2025-12-03 06:17:44 +01:00

99 lines
1.9 KiB
YAML
Executable File

apiVersion: apps/v1
kind: Deployment
metadata:
name: element
namespace: matrix
labels:
app: element
spec:
replicas: 1
selector:
matchLabels:
app: element
template:
metadata:
labels:
app: element
spec:
containers:
- name: element
image: vectorim/element-web
securityContext:
runAsUser: 0 # Run as root (user ID 0)
runAsGroup: 0 # Run as root group (group ID 0)
ports:
- containerPort: 80
env:
- name: SYNAPSE_SERVER
value: "https://matrix-lp.allarddcs.nl"
- name: BASE_URL
value: "https://element-lp.allarddcs.nl"
volumeMounts:
- name: element-config
mountPath: /config
volumes:
- name: element-config
configMap:
name: element-config
---
apiVersion: v1
kind: ConfigMap
metadata:
name: element-config
data:
config.json: |
{
"default_homeserver": "https://matrix-lp.allarddcs.nl",
"branding": {
"brand": "AllardDCS",
"icon": "/path/to/logo.png"
}
}
---
apiVersion: v1
kind: Service
metadata:
name: element
namespace: matrix
spec:
ports:
- name: http
targetPort: 80
port: 80
selector:
app: element
type: ClusterIP
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: element-http
namespace: matrix
spec:
entryPoints:
- web
routes:
- match: Host(`element-lp.allarddcs.nl`)
kind: Rule
services:
- name: element
port: 80
---
apiVersion: traefik.io/v1alpha1
kind: IngressRoute
metadata:
name: element-tls
namespace: matrix
spec:
entryPoints:
- websecure
routes:
- match: Host(`element-lp.allarddcs.nl`)
kind: Rule
services:
- name: element
port: 80
tls:
secretName: element-lp.allarddcs.nl-tls