apiVersion: apps/v1 kind: Deployment metadata: name: element-web-docs namespace: matrix spec: replicas: 1 selector: matchLabels: app: element-web-docs template: metadata: labels: app: element-web-docs spec: initContainers: - name: copy-files image: busybox:1.36 command: ["/bin/sh", "-c"] args: - | mkdir -p /html/docs/setup cp /config/index.html /html/docs/setup/ cp /config/README-Element-Setup.md /html/docs/setup/ cp /config/element-setup-windows.cmd /html/docs/setup/ cp /config/element-setup-macos.command /html/docs/setup/ cp /config/element-setup-linux.sh /html/docs/setup/ chmod 644 /html/docs/setup/* volumeMounts: - name: config mountPath: /config - name: html mountPath: /html containers: - name: nginx image: nginx:1.26-alpine ports: - containerPort: 8080 volumeMounts: - name: nginx-conf mountPath: /etc/nginx/conf.d/default.conf subPath: nginx.conf - name: html mountPath: /usr/share/nginx/html volumes: - name: config configMap: name: ess-element-web-docs - name: nginx-conf configMap: name: element-web-docs-nginx - name: html emptyDir: {} --- apiVersion: v1 kind: Service metadata: name: element-web-docs namespace: matrix spec: selector: app: element-web-docs ports: - protocol: TCP port: 80 targetPort: 8080 type: ClusterIP --- apiVersion: v1 kind: ConfigMap metadata: name: element-web-docs-nginx namespace: matrix data: nginx.conf: | server { listen 8080; server_name _; root /usr/share/nginx/html; location /docs/setup/ { index index.html; try_files $uri $uri/ =404; } location / { return 404; } }