| @@ -42,6 +42,8 @@ Using this playbook, you can get the following services configured on your serve | |||
| - (optional) the [matrix-appservice-discord](https://github.com/Half-Shot/matrix-appservice-discord) bridge for bridging your Matrix server to [Discord](https://discordapp.com/) | |||
| - (optional) [Dimension](https://github.com/turt2live/matrix-dimension), an open source integrations manager for matrix clients | |||
| Basically, this playbook aims to get you up-and-running with all the basic necessities around Matrix, without you having to do anything else. | |||
| **Note**: the list above is exhaustive. It includes optional or even some advanced components that you will most likely not need. | |||
| @@ -118,6 +120,8 @@ This playbook sets up your server using the following Docker images: | |||
| - [tedomum/matrix-appservice-discord](https://hub.docker.com/r/halfshot/matrix-appservice-discord) - the [matrix-appservice-discord](https://github.com/Half-Shot/matrix-appservice-discord) bridge to [Discord](https://discordapp.com/) | |||
| - [turt2live/matrix-dimension](https://hub.docker.com/r/turt2live/matrix-dimension) - the [Dimension](https://dimension.t2bot.io/) integrations manager (optional) | |||
| ## Deficiencies | |||
| @@ -26,6 +26,7 @@ It's a temporary requirement during the Synapse v0.99/v1.0 transition. | |||
| | ----- | ----------------------- | -------- | ------ | ---- | ---------------------- | | |||
| | A | `matrix` | - | - | - | `matrix-server-IP` | | |||
| | CNAME | `riot` | - | - | - | `matrix.<your-domain>` | | |||
| | CNAME | `dimension` | - | - | - | `matrix.<your-domain>` | | |||
| | SRV | `_matrix._tcp` | 10 | 0 | 8448 | `matrix.<your-domain>` | | |||
| | SRV | `_matrix-identity._tcp` | 10 | 0 | 443 | `matrix.<your-domain>` | | |||
| @@ -40,6 +41,8 @@ As the table above illustrates, you need to create 2 subdomains (`matrix.<your-d | |||
| The `riot.<your-domain>` subdomain is necessary, because this playbook installs the Riot web client for you. | |||
| If you'd rather instruct the playbook not to install Riot (`matrix_riot_web_enabled: false` when [Configuring the playbook](configuring-playbook.md) later), feel free to skip the `riot.<your-domain>` DNS record. | |||
| The `dimension.<your-domain>` subdomain is necessary, because this playbook installs the Dimension integrations manager for you. Dimension installation is disabled by default and if you explicitly do not enable it's installation (`matrix_dimension_enabled: true` when [Configuring the playbook](configuring-playbook.md) later), feel free to skip the `dimension.<your-domain>` DNS record. | |||
| ## `_matrix._tcp` SRV record setup (temporary requirement) | |||
| @@ -0,0 +1,48 @@ | |||
| # Setting up Dimension (optional) | |||
| Dimension integrations manager installation is disabled by default. You can enable it in your configuration file (`inventory/matrix.<your-domain>/vars.yml`): | |||
| ```yaml | |||
| matrix_dimension_enabled: true | |||
| ``` | |||
| Your Matrix also needs federation enabled for Dimension to work, so if you have disabled it by setting `matrix_synapse_federation_enabled` to `false`, please remove or comment this variable in your configuration file. Or set it to: | |||
| ```yaml | |||
| matrix_synapse_federation_enabled: true | |||
| ``` | |||
| ## Define admin users | |||
| These users can modify the integrations this Dimension supports. Admin interface is accessible by opening Dimension in Riot and clicking the settings icon. | |||
| Add this to your configuration file (`inventory/matrix.<your-domain>/vars.yml`): | |||
| ```yaml | |||
| matrix_dimension_admins: ['@user1:domain.com', '@user2:domain.com'] | |||
| ``` | |||
| ## Access token | |||
| You are required to specify an access token for Dimension to work. | |||
| To get an access token, follow these steps: | |||
| 1. In a private browsing session (incognito window), open Riot. | |||
| 2. It's better to you use dedicated user for getting access token, so log in with this user's username and password. | |||
| 3. Set the display name and avatar, if required. | |||
| 4. In the settings page, scroll down to the bottom and click `Access Token: <click to reveal>`. | |||
| 5. Copy the highlighted text to your configuration. | |||
| 6. Close the private browsing session. **Do not log out**. Logging out will invalidate the token, making it not work. | |||
| **Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.** | |||
| Add access token to your configuration file (`inventory/matrix.<your-domain>/vars.yml`): | |||
| ```yaml | |||
| matrix_dimension_access_token: "YOUR ACCESS TOKEN HERE" | |||
| ``` | |||
| For more information on how to acquire an access token, visit [https://t2bot.io/docs/access_tokens](https://t2bot.io/docs/access_tokens). | |||
| ## Additional features | |||
| To use a more custom configuration, you can define a `matrix_dimension_configuration_extension_yaml` string variable and put your configuration in it. | |||
| To learn more about how to do this, refer to the information about `matrix_dimension_configuration_extension_yaml` in the [default variables file](../roles/matrix-dimension/defaults/main.yml) of the Dimension component. | |||
| You can find all configuration options on [GitHub page of Dimension project](https://github.com/turt2live/matrix-dimension/blob/master/config/default.yaml). | |||
| @@ -54,3 +54,5 @@ When you're done with all the configuration you'd like to do, continue with [Ins | |||
| - [Setting up Appservice IRC bridging](configuring-playbook-bridge-appservice-irc.md) (optional) | |||
| - [Setting up Appservice Discord bridging](configuring-playbook-bridge-appservice-discord.md) (optional) | |||
| - [Setting up Dimension (optional)](configuring-playbook-dimension.md) (optional) | |||