## Usage and Components ### Sample usage Setting up matrix for ... - the matrix domain "fn.nf" - the homeserver matrix.fnnf.svc.p10.k8s.ooo - element web on m.fn.nf Using automatic DNS from the p10.k8s.ooo cluster: ``` helm upgrade --install --create-namespace --namespace fnnf \ --set homeServerFQDN=fn.nf,elementWebFQDN=m.fn.nf,letsencryptStaging=no,clusterDomain=p10.k8s.ooo matrix matrix/ ``` Setting up matrix.fn.nf in DNS ``` matrix CNAME matrix-element-web.fnnf.svc.p10.k8s.ooo. ``` Creating the two json files * /.well-known/matrix/server and * /.well-known/matrix/client on the fn.nf web server using the samples: ``` % curl -Ls https://m.fn.nf/.well-known/matrix/server > server % curl -Ls https://m.fn.nf/.well-known/matrix/client > client ``` And finally creating a user: ``` kubectl -n fnnf exec -ti matrix-matrix-synapse-864c4bfb4-4h4cn -c synapse -- register_new_matrix_user http://localhost:8008 -c /config/homeserver.yaml -u admin -p ... -a ``` ### Element-Web * Includes config.json that is being populated by values.yaml * Includes nginx on port localhost:8080 (http) * Includes nginx proxy on port 80+443 (http redirect, https) The service is reachable as `{{ .Release.Name }}-element-web`. ### Synapse * homeserver.yaml is created from a ConfigMap in /config-ro * homeserver.yaml is edited using sed to add the postgres password and stored in /config/homeserver.yaml * Logging configured to stdout The service is reachable as `{{ .Release.Name }}`. ### Postgres Tuned with `--no-locale --encoding=UTF8` using `POSTGRES_INITDB_ARGS` (required by synapse). The service is reachable as `{{ .Release.Name }}-postgres`. See * https://www.postgresql.org/docs/9.5/app-initdb.html * https://hub.docker.com/_/postgres * https://github.com/matrix-org/synapse/blob/develop/docs/postgres.md ## Missing - SMTP settings / secrets (ungleich mail + sops?) ### admin user docker exec -it synapse register_new_matrix_user http://localhost:8008 -c /data/homeserver.yaml --help ### Resource configuration