--- kind: Deployment apiVersion: apps/v1 metadata: name: matrix labels: app: matrix spec: replicas: 1 selector: matchLabels: app: matrix template: metadata: labels: app: matrix spec: containers: - name: matrix image: ghcr.io/element-hq/synapse env: - name: SYNAPSE_SERVER_NAME value: "matrix.dezendorf.net" ports: - name: web containerPort: 8008 volumeMounts: - name: "matrix-homeserver-yaml" mountPath: "/data/homeserver.yaml" subPath: "matrix-homeserver.yaml" readOnly: true volumes: - name: "matrix-homeserver-yaml" configMap: name: "matrix-homeserver-yaml" --- apiVersion: v1 kind: Service metadata: name: matrix spec: type: ClusterIP ports: - name: web port: 8008 selector: app: matrix --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: matrix-ingress-route namespace: default spec: entryPoints: - web routes: - match: ((Host(`matrix`)||Host(`matrix.dezendorf.net`))) kind: Rule priority: 1 services: - name: matrix port: 8008 --- apiVersion: traefik.containo.us/v1alpha1 kind: IngressRoute metadata: name: matrix-websecure-route namespace: default spec: entryPoints: - websecure routes: - match: Host(`matrix.dezendorf.net`) kind: Rule services: - name: matrix port: 8008 tls: certResolver: myresolver --- apiVersion: v1 kind: ConfigMap metadata: name: matrix-homeserver-yaml namespace: default data: matrix-homeserver-yaml: | # Configuration file for Synapse. # # This is a YAML file: see [1] for a quick introduction. Note in particular # that *indentation is important*: all the elements of a list or dictionary # should have the same indentation. # # [1] https://docs.ansible.com/ansible/latest/reference_appendices/YAMLSyntax.html # # For more information on how to configure Synapse, including a complete accounting of # each option, go to docs/usage/configuration/config_documentation.md or # https://element-hq.github.io/synapse/latest/usage/configuration/config_documentation.html server_name: "matrix.dezendorf.net" pid_file: /homeserver.pid listeners: - port: 8008 tls: false type: http x_forwarded: true bind_addresses: ['::1', '127.0.0.1'] resources: - names: [client, federation] compress: false database: name: sqlite3 args: database: /homeserver.db log_config: "/tmp/matrix.dezendorf.net.log.config" media_store_path: /media_store registration_shared_secret: "9.^i#+7YXwrC^bzKMqkenOZb;9ra6jV0zgZMvO:EBQ.CipL47k" report_stats: false macaroon_secret_key: ".ughvXa0Or.Xv7o5y550cXnTlv.J8*Mq@JAA^1QXuu2bpR@Lpd" form_secret: "iESBV0d@Tg;4~:v5KT3-UX.Kva@.cbJZ9SNU:nWKubPo:X^*Y-" signing_key_path: "/tmp/matrix.dezendorf.net.signing.key" trusted_key_servers: - server_name: "matrix.org"