ungleich-k8s/apps/matrix/README.md

82 lines
2.1 KiB
Markdown

## Usage and Components
Note: as of 2021-12-25 this chart is available internally as apps/prod/matrix.
### 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