diff --git a/website/docs/integrations/services/matrix-synapse/index.md b/website/docs/integrations/services/matrix-synapse/index.md new file mode 100644 index 000000000..8572cbc7d --- /dev/null +++ b/website/docs/integrations/services/matrix-synapse/index.md @@ -0,0 +1,50 @@ +--- +title: Matrix Synapse +--- + +## What is Matrix Synapse + +From https://matrix.org/ + +:::note +Matrix is an open source project that publishes the Matrix open standard for secure, decentralised, real-time communication, and its Apache licensed +reference implementations. +::: + +## Preparation + +The following placeholders will be used: + +- `matrix.company` is the FQDN of the MinIO install. +- `authentik.company` is the FQDN of the authentik install. + +Create an application in authentik. Create an OAuth2/OpenID provider with the following parameters: + +- Client Type: `Confidential` +- JWT Algorithm: `RS256` +- Scopes: OpenID, Email and Profile +- RSA Key: Select any available key +- Redirect URIs: `https://matrix.company/_synapse/client/oidc/callback` + +Note the Client ID and Client Secret values. Create an application, using the provider you've created above. Note the slug of the application you've created. + +## Matrix + +Add the following block to your Matrix config + +```yaml +oidc_providers: + - idp_id: authentik + idp_name: authentik + discover: true + issuer: "https://authentik.company/application/o/app-slug/" + client_id: "*client id*" + client_secret: "*client secret*" + scopes: + - "openid" + - "profile" + user_mapping_provider: + config: + localpart_template: "{{ '{{ user.name }}' }}" + display_name_template: "{{ '{{ user.name|capitalize }}' }}" +``` diff --git a/website/sidebars.js b/website/sidebars.js index 756079b34..d453a46ae 100644 --- a/website/sidebars.js +++ b/website/sidebars.js @@ -87,6 +87,7 @@ module.exports = { "integrations/services/grafana/index", "integrations/services/harbor/index", "integrations/services/home-assistant/index", + "integrations/services/matrix-synapse/index", "integrations/services/minio/index", "integrations/services/nextcloud/index", "integrations/services/portainer/index",