Merge branch 'master' into pub.solar

This commit is contained in:
teutat3s 2020-05-09 14:25:26 +02:00
commit a00e600d28
Signed by: teutat3s
GPG key ID: 18DAE600A6BBE705
51 changed files with 248 additions and 113 deletions

View file

@ -4,11 +4,14 @@
If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later. If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later.
## Prerequisites ## Prerequisites
This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and an [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environment. This is handled automatically based on the value of `matrix_synapse_federation_enabled`. This playbook now supports running [Dimension](https://dimension.t2bot.io) in both a federated and an [unfederated](https://github.com/turt2live/matrix-dimension/blob/master/docs/unfederated.md) environment. This is handled automatically based on the value of `matrix_synapse_federation_enabled`.
Other important prerequisite is the `dimension.<your-domain>` DNS record being set up correctly. See [Configuring your DNS server](configuring-dns.md) on how to set up DNS record correctly. Other important prerequisite is the `dimension.<your-domain>` DNS record being set up correctly. See [Configuring your DNS server](configuring-dns.md) on how to set up DNS record correctly.
## Enable ## Enable
[Dimension integrations manager](https://dimension.t2bot.io) installation is disabled by default. You can enable it in your configuration file (`inventory/host_vars/matrix.<your-domain>/vars.yml`): [Dimension integrations manager](https://dimension.t2bot.io) installation is disabled by default. You can enable it in your configuration file (`inventory/host_vars/matrix.<your-domain>/vars.yml`):
```yaml ```yaml
@ -17,23 +20,31 @@ matrix_dimension_enabled: true
## Define admin users ## 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. 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/host_vars/matrix.<your-domain>/vars.yml`): Add this to your configuration file (`inventory/host_vars/matrix.<your-domain>/vars.yml`):
```yaml ```yaml
matrix_dimension_admins: ['@user1:domain.com', '@user2:domain.com'] matrix_dimension_admins:
- "@user1:{{ matrix_domain }}"
- "@user2:{{ matrix_domain }}"
``` ```
## Access token ## Access token
You are required to specify an access token for Dimension to work.
To get an access token, follow these steps: We recommend that you create a dedicated Matrix user for Dimension (`dimension` is a good username).
Follow our [Registering users](registering-users.md) guide to learn how to register **a regular (non-admin) user**.
You are required to specify an access token (belonging to this new user) for Dimension to work.
To get an access token for the Dimension user, follow these steps:
1. In a private browsing session (incognito window), open Riot. 1. In a private browsing session (incognito window), open Riot.
2. It's preferable to use a dedicated user for the access token, so create and log in with that user's username and password. 2. Log in with the `dimension` user and its password.
3. Set the display name and avatar, if required. 1. Set the display name and avatar, if required.
4. In the settings page choose "Help & About", scroll down to the bottom and click `Access Token: <click to reveal>`. 2. In the settings page choose "Help & About", scroll down to the bottom and click `Access Token: <click to reveal>`.
5. Copy the highlighted text to your configuration. 3. 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. 4. 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.** **Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.**
@ -45,12 +56,23 @@ 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). For more information on how to acquire an access token, visit [https://t2bot.io/docs/access_tokens](https://t2bot.io/docs/access_tokens).
## Installation
After these variables have been set, please run the following command to re-run setup and to restart Dimension: After these variables have been set, please run the following command to re-run setup and to restart Dimension:
``` ```
ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start
``` ```
## Jitsi domain
By default Dimension will use [jitsi.riot.im](https://jitsi.riot.im/) as the `conferenceDomain` of [Jitsi](https://jitsi.org/) audio/video conference widgets. For users running [a self-hosted Jitsi instance](./configuring-playbook-jitsi.md), you will likely want the widget to use your own Jitsi instance. Currently there is no way to configure this via the playbook, see [this issue](https://github.com/turt2live/matrix-dimension/issues/345) for details.
In the interim until the above limitation is resolved, an admin user needs to configure the domain via the admin ui once dimension is running. In riot-web, go to *Manage Integrations* &rightarrow; *Settings* &rightarrow; *Widgets* &rightarrow; *Jitsi Conference Settings* and set *Jitsi Domain* and *Jitsi Script URL* appropriately.
## Additional features ## 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 use a more custom configuration, you can define a `matrix_dimension_configuration_extension_yaml` string variable and put your configuration in it.

View file

@ -4,7 +4,7 @@ The playbook can install the [Jitsi](https://jitsi.org/) video-conferencing plat
Jitsi installation is **not enabled by default**, because it's not a core component of Matrix services. Jitsi installation is **not enabled by default**, because it's not a core component of Matrix services.
The setup done by the playbook is very similar to [docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet). The setup done by the playbook is very similar to [docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet). You can refer to the documentation there for many of the options here.
## Prerequisites ## Prerequisites
@ -34,13 +34,13 @@ matrix_jitsi_jibri_xmpp_password: ""
``` ```
## (Optional) configure internal Jitsi authentication and guests mode ## (Optional) Configure Jitsi authentication and guests mode
By default the Jitsi Meet instance does not require any kind of login and is open to use for anyone without registration. By default the Jitsi Meet instance does not require any kind of login and is open to use for anyone without registration.
If you're fine with such an open Jitsi instance, please skip to [Apply changes](#apply-changes). If you're fine with such an open Jitsi instance, please skip to [Apply changes](#apply-changes).
If you would like to control who is allowed to open meetings on your new Jitsi instance, then please follow this step to enable Jitsi's `internal` authentication and guests mode. With this optional configuration, all meeting rooms have to be opened by at least one registered user, after that guests are free to join. If a registered host is not present yet, guests are put on hold into a waiting room. If you would like to control who is allowed to open meetings on your new Jitsi instance, then please follow this step to enable Jitsi's authentication and guests mode. With authentication enabled, all meeting rooms have to be opened by a registered user, after which guests are free to join. If a registered host is not yet present, guests are put on hold in individual waiting rooms.
Add these two lines to your `inventory/host_vars/matrix.DOMAIN/vars.yml` configuration: Add these two lines to your `inventory/host_vars/matrix.DOMAIN/vars.yml` configuration:
@ -49,11 +49,28 @@ matrix_jitsi_enable_auth: true
matrix_jitsi_enable_guests: true matrix_jitsi_enable_guests: true
``` ```
### (Optional) LDAP authentication
The default authentication mode of Jitsi is `internal`, however LDAP is also supported. An example LDAP configuration could be:
```yaml
matrix_jitsi_enable_auth: true
matrix_jitsi_auth_type: ldap
matrix_jitsi_ldap_url: ldap://ldap.DOMAIN # or ldaps:// if using tls
matrix_jitsi_ldap_base: "OU=People,DC=DOMAIN"
matrix_jitsi_ldap_filter: "(&(uid=%u)(employeeType=active))"
matrix_jitsi_ldap_use_tls: false
matrix_jitsi_ldap_start_tls: true
```
For more information refer to the [docker-jitsi-meet](https://github.com/jitsi/docker-jitsi-meet#authentication-using-ldap) and the [saslauthd `LDAP_SASLAUTHD`](https://github.com/winlibs/cyrus-sasl/blob/master/saslauthd/LDAP_SASLAUTHD) documentation.
## (Optional) Making your Jitsi server work on a LAN ## (Optional) Making your Jitsi server work on a LAN
By default the Jitsi Meet instance does not work with a client in LAN (Local Area Network), even if others are connected from WAN. There are no video and audio. In the case of WAN to WAN everything is ok. By default the Jitsi Meet instance does not work with a client in LAN (Local Area Network), even if others are connected from WAN. There are no video and audio. In the case of WAN to WAN everything is ok.
The reason is the Jitsi VideoBridge git to LAN client the IP address of the docker image instead of the host. The [documentation](https://github.com/jitsi/docker-jitsi-meet#running-behind-nat-or-on-a-lan-environment) of Jitsi in docker suggest to add DOCKER_HOST_ADDRESS in enviornment variable to make it work. The reason is the Jitsi VideoBridge git to LAN client the IP address of the docker image instead of the host. The [documentation](https://github.com/jitsi/docker-jitsi-meet#running-behind-nat-or-on-a-lan-environment) of Jitsi in docker suggest to add `DOCKER_HOST_ADDRESS` in enviornment variable to make it work.
Here is how to do it in the playbook. Here is how to do it in the playbook.
@ -68,7 +85,7 @@ matrix_jitsi_jvb_container_extra_arguments:
Then re-run the playbook: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` Then re-run the playbook: `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`
## Required if configuring Jitsi with its internal authentication: register new users ## Required if configuring Jitsi with internal authentication: register new users
Until this gets integrated into the playbook, we need to register new users / meeting hosts for Jitsi manually. Until this gets integrated into the playbook, we need to register new users / meeting hosts for Jitsi manually.
Please SSH into your matrix host machine and execute the following command targeting the `matrix-jitsi-prosody` container: Please SSH into your matrix host machine and execute the following command targeting the `matrix-jitsi-prosody` container:
@ -84,9 +101,15 @@ Run this command for each user you would like to create, replacing `<USERNAME>`
## Usage ## Usage
You can use the self-hosted Jitsi server through Riot, through an Integration Manager like [Dimension](docs/configuring-playbook-dimension.md) or directly at `https://jitsi.DOMAIN`. You can use the self-hosted Jitsi server in multiple ways:
To use it via riot-web (the one configured by the playbook at `https://riot.DOMAIN`), just start a voice or a video call in a room containing more than 2 members and that would create a Jitsi widget which utilizes your self-hosted Jitsi server. - **by adding a widget to a room via riot-web** (the one configured by the playbook at `https://riot.DOMAIN`). Just start a voice or a video call in a room containing more than 2 members and that would create a Jitsi widget which utilizes your self-hosted Jitsi server.
- **by adding a widget to a room via the Dimension Integration Manager**. You'll have to point the widget to your own Jitsi server manually. See our [Dimension](./configuring-playbook-dimension.md) documentation page for more details. Naturally, Dimension would need to be installed first (the playbook doesn't install it by default).
- **directly (without any Matrix integration)**. Just go to `https://jitsi.DOMAIN`
**Note**: Riot apps on mobile devices currently [don't support joining meetings on a self-hosted Jitsi server](https://github.com/vector-im/riot-web/blob/601816862f7d84ac47547891bd53effa73d32957/docs/jitsi.md#mobile-app-support).
## Troubleshooting ## Troubleshooting

View file

@ -31,3 +31,12 @@ matrix_synapse_turn_uris:
- turn:HOSTNAME_OR_IP?transport=udp - turn:HOSTNAME_OR_IP?transport=udp
- turn:HOSTNAME_OR_IP?transport=tcp - turn:HOSTNAME_OR_IP?transport=tcp
``` ```
If you have or want to enable [Jitsi](configuring-playbook-jitsi.md), you might want to enable the TURN server there too.
If you do not do it, Jitsi will fall back to an upstream service.
```yaml
matrix_jitsi_web_stun_servers:
- stun:HOSTNAME_OR_IP:PORT
```
You can put multiple host/port combinations if you like.

View file

@ -104,7 +104,7 @@ server {
</VirtualHost> </VirtualHost>
``` ```
**For Caddy**, it would be something like this: **For Caddy 2**, it would be something like this:
```caddy ```caddy
reverse_proxy /.well-known/matrix/* https://matrix.DOMAIN { reverse_proxy /.well-known/matrix/* https://matrix.DOMAIN {
@ -112,6 +112,14 @@ reverse_proxy /.well-known/matrix/* https://matrix.DOMAIN {
} }
``` ```
**For Caddy 1**, it would be something like this:
```caddy
proxy /.well-known/matrix/ https://matrix.DOMAIN {
header_upstream Host {http.reverse_proxy.upstream.hostport}
}
```
**For HAProxy**, it would be something like this: **For HAProxy**, it would be something like this:
```haproxy ```haproxy

View file

@ -1,8 +1,10 @@
# Migrating to new server # Migrating to new server
1. Prepare by lowering DNS TTL for your domains (`matrix.DOMAIN`, etc.), so that DNS record changes (step 4 below) would happen faster, leading ot less downtime 1. Prepare by lowering DNS TTL for your domains (`matrix.DOMAIN`, etc.), so that DNS record changes (step 4 below) would happen faster, leading ot less downtime
2. Stop all services on the old server and make sure they won't be starting again. Execute this on the old server: `systemctl disable --now matrix*` 2. Stop all services on the old server and make sure they won't be starting again. Execute this on the old server: `systemctl disable --now matrix*`
3. Copy directory `/matrix` from the old server to the new server. Make sure to preserve ownership and permissions (use `cp -p` or `rsync -ar`)! 3. Copy directory `/matrix` from the old server to the new server. Make sure to preserve ownership and permissions (use `cp -p` or `rsync -ar`)!
4. Make sure your DNS records are adjusted to point to the new server's IP address 4. Make sure your DNS records are adjusted to point to the new server's IP address
5. Remove old server from the `inventory/hosts` file and add new server. 5. Remove old server from the `inventory/hosts` file and add new server.
6. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start`. This will create the matrix user and group and start all services on the new server 6. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-system-user`. This will create the `matrix` user and group on the new server
7. Because the `matrix` user and group are created dynamically on each server, the user/group id may differ between the old and new server. We suggest that you adjust ownership of `/matrix` files manually by running this on the new server: `chown -R matrix:matrix /matrix`.
8. Run `ansible-playbook -i inventory/hosts setup.yml --tags=setup-all,start` to finish the installation and start all services

View file

@ -22,8 +22,7 @@ matrix_server_fqn_dimension: "dimension.{{ matrix_domain }}"
matrix_server_fqn_jitsi: "jitsi.{{ matrix_domain }}" matrix_server_fqn_jitsi: "jitsi.{{ matrix_domain }}"
matrix_user_username: "matrix" matrix_user_username: "matrix"
matrix_user_uid: 991 matrix_user_groupname: "matrix"
matrix_user_gid: 991
matrix_base_data_path: "/matrix" matrix_base_data_path: "/matrix"
matrix_base_data_path_mode: "750" matrix_base_data_path_mode: "750"

View file

@ -2,6 +2,11 @@
tags: tags:
- always - always
- import_tasks: "{{ role_path }}/tasks/validate_config.yml"
when: "run_setup|bool"
tags:
- setup-all
- import_tasks: "{{ role_path }}/tasks/clean_up_old_files.yml" - import_tasks: "{{ role_path }}/tasks/clean_up_old_files.yml"
when: run_setup|bool when: run_setup|bool
tags: tags:
@ -12,6 +17,14 @@
tags: tags:
- setup-all - setup-all
# This needs to always run, because it populates `matrix_user_uid` and `matrix_user_gid`,
# which are required by many other roles.
- import_tasks: "{{ role_path }}/tasks/setup_matrix_user.yml"
when: run_setup|bool
tags:
- always
- setup-system-user
- import_tasks: "{{ role_path }}/tasks/setup_matrix_base.yml" - import_tasks: "{{ role_path }}/tasks/setup_matrix_base.yml"
when: run_setup|bool when: run_setup|bool
tags: tags:

View file

@ -1,25 +1,12 @@
--- ---
- name: Ensure Matrix group is created
group:
name: "{{ matrix_user_username }}"
gid: "{{ matrix_user_gid }}"
state: present
- name: Ensure Matrix user is created
user:
name: "{{ matrix_user_username }}"
uid: "{{ matrix_user_uid }}"
state: present
group: "{{ matrix_user_username }}"
- name: Ensure Matrix base path exists - name: Ensure Matrix base path exists
file: file:
path: "{{ item }}" path: "{{ item }}"
state: directory state: directory
mode: "{{ matrix_base_data_path_mode }}" mode: "{{ matrix_base_data_path_mode }}"
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_base_data_path }}" - "{{ matrix_base_data_path }}"
@ -54,4 +41,3 @@
src: "{{ role_path }}/templates/usr-local-bin/matrix-remove-all.j2" src: "{{ role_path }}/templates/usr-local-bin/matrix-remove-all.j2"
dest: "{{ matrix_local_bin_path }}/matrix-remove-all" dest: "{{ matrix_local_bin_path }}/matrix-remove-all"
mode: 0750 mode: 0750

View file

@ -0,0 +1,22 @@
---
- name: Ensure Matrix group is created
group:
name: "{{ matrix_user_groupname }}"
state: present
register: matrix_group
- name: Set Matrix Group GID Variable
set_fact:
matrix_user_gid: "{{ matrix_group.gid }}"
- name: Ensure Matrix user is created
user:
name: "{{ matrix_user_username }}"
state: present
group: "{{ matrix_user_groupname }}"
register: matrix_user
- name: Set Matrix Group UID Variable
set_fact:
matrix_user_uid: "{{ matrix_user.uid }}"

View file

@ -8,7 +8,7 @@
state: directory state: directory
mode: 0755 mode: 0755
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_static_files_base_path }}/.well-known/matrix" - "{{ matrix_static_files_base_path }}/.well-known/matrix"
@ -18,7 +18,7 @@
dest: "{{ matrix_static_files_base_path }}/.well-known/matrix/client" dest: "{{ matrix_static_files_base_path }}/.well-known/matrix/client"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure Matrix /.well-known/matrix/server file configured - name: Ensure Matrix /.well-known/matrix/server file configured
template: template:
@ -26,7 +26,7 @@
dest: "{{ matrix_static_files_base_path }}/.well-known/matrix/server" dest: "{{ matrix_static_files_base_path }}/.well-known/matrix/server"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_well_known_matrix_server_enabled|bool when: matrix_well_known_matrix_server_enabled|bool
- name: Ensure Matrix /.well-known/matrix/server file deleted - name: Ensure Matrix /.well-known/matrix/server file deleted

View file

@ -0,0 +1,11 @@
---
- name: (Deprecation) Warn about unused user/group variables
fail:
msg: >
The `{{ item }}` variable defined in your configuration is not used by this playbook anymore.
User/group creation is now dynamic. You can remove these variables from your configuration, as they have no effect on anything.
when: "item in vars"
with_items:
- 'matrix_user_uid'
- 'matrix_user_gid'

View file

@ -13,7 +13,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_appservice_discord_base_path }}" - "{{ matrix_appservice_discord_base_path }}"
- "{{ matrix_appservice_discord_config_path }}" - "{{ matrix_appservice_discord_config_path }}"
@ -46,7 +46,7 @@
dest: "{{ matrix_appservice_discord_config_path }}/config.yaml" dest: "{{ matrix_appservice_discord_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure AppService Discord registration.yaml installed - name: Ensure AppService Discord registration.yaml installed
copy: copy:
@ -54,7 +54,7 @@
dest: "{{ matrix_appservice_discord_config_path }}/registration.yaml" dest: "{{ matrix_appservice_discord_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
# If `matrix_appservice_discord_client_id` hasn't changed, the same invite link would be generated. # If `matrix_appservice_discord_client_id` hasn't changed, the same invite link would be generated.
# We intentionally suppress Ansible changes. # We intentionally suppress Ansible changes.

View file

@ -13,7 +13,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_appservice_irc_base_path }}" - "{{ matrix_appservice_irc_base_path }}"
- "{{ matrix_appservice_irc_config_path }}" - "{{ matrix_appservice_irc_config_path }}"
@ -50,7 +50,7 @@
dest: "{{ matrix_appservice_irc_config_path }}/config.yaml" dest: "{{ matrix_appservice_irc_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Check if Appservice IRC passkey exists - name: Check if Appservice IRC passkey exists
stat: stat:
@ -70,7 +70,7 @@
path: "{{ matrix_appservice_irc_data_path }}/passkey.pem" path: "{{ matrix_appservice_irc_data_path }}/passkey.pem"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
# Ideally, we'd like to generate the final registration.yaml file by ourselves. # Ideally, we'd like to generate the final registration.yaml file by ourselves.
# #
@ -134,7 +134,7 @@
dest: "{{ matrix_appservice_irc_config_path }}/registration.yaml" dest: "{{ matrix_appservice_irc_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-appservice-irc.service installed - name: Ensure matrix-appservice-irc.service installed
template: template:

View file

@ -13,7 +13,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_appservice_slack_base_path }}" - "{{ matrix_appservice_slack_base_path }}"
- "{{ matrix_appservice_slack_config_path }}" - "{{ matrix_appservice_slack_config_path }}"
@ -25,7 +25,7 @@
dest: "{{ matrix_appservice_slack_config_path }}/config.yaml" dest: "{{ matrix_appservice_slack_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure appservice-slack registration.yaml installed - name: Ensure appservice-slack registration.yaml installed
copy: copy:
@ -33,7 +33,7 @@
dest: "{{ matrix_appservice_slack_config_path }}/slack-registration.yaml" dest: "{{ matrix_appservice_slack_config_path }}/slack-registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-appservice-slack.service installed - name: Ensure matrix-appservice-slack.service installed
template: template:

View file

@ -13,7 +13,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_appservice_webhooks_base_path }}" - "{{ matrix_appservice_webhooks_base_path }}"
- "{{ matrix_appservice_webhooks_config_path }}" - "{{ matrix_appservice_webhooks_config_path }}"
@ -25,7 +25,7 @@
dest: "{{ matrix_appservice_webhooks_config_path }}/config.yaml" dest: "{{ matrix_appservice_webhooks_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure Matrix Appservice webhooks schema.yml template exists - name: Ensure Matrix Appservice webhooks schema.yml template exists
template: template:
@ -33,7 +33,7 @@
dest: "{{ matrix_appservice_webhooks_config_path }}/schema.yml" dest: "{{ matrix_appservice_webhooks_config_path }}/schema.yml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure Matrix Appservice webhooks database.json template exists - name: Ensure Matrix Appservice webhooks database.json template exists
template: template:
@ -41,7 +41,7 @@
dest: "{{ matrix_appservice_webhooks_data_path }}/database.json" dest: "{{ matrix_appservice_webhooks_data_path }}/database.json"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure appservice-webhooks registration.yaml installed - name: Ensure appservice-webhooks registration.yaml installed
copy: copy:
@ -49,7 +49,7 @@
dest: "{{ matrix_appservice_webhooks_config_path }}/webhooks-registration.yaml" dest: "{{ matrix_appservice_webhooks_config_path }}/webhooks-registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-appservice-webhooks.service installed - name: Ensure matrix-appservice-webhooks.service installed
template: template:

View file

@ -22,7 +22,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_mautrix_facebook_base_path }}", when: true } - { path: "{{ matrix_mautrix_facebook_base_path }}", when: true }
- { path: "{{ matrix_mautrix_facebook_config_path }}", when: true } - { path: "{{ matrix_mautrix_facebook_config_path }}", when: true }
@ -73,7 +73,7 @@
dest: "{{ matrix_mautrix_facebook_config_path }}/config.yaml" dest: "{{ matrix_mautrix_facebook_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure mautrix-facebook registration.yaml installed - name: Ensure mautrix-facebook registration.yaml installed
copy: copy:
@ -81,7 +81,7 @@
dest: "{{ matrix_mautrix_facebook_config_path }}/registration.yaml" dest: "{{ matrix_mautrix_facebook_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-mautrix-facebook.service installed - name: Ensure matrix-mautrix-facebook.service installed
template: template:

View file

@ -22,7 +22,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_mautrix_hangouts_base_path }}", when: true } - { path: "{{ matrix_mautrix_hangouts_base_path }}", when: true }
- { path: "{{ matrix_mautrix_hangouts_config_path }}", when: true } - { path: "{{ matrix_mautrix_hangouts_config_path }}", when: true }
@ -72,7 +72,7 @@
dest: "{{ matrix_mautrix_hangouts_config_path }}/config.yaml" dest: "{{ matrix_mautrix_hangouts_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure mautrix-hangouts registration.yaml installed - name: Ensure mautrix-hangouts registration.yaml installed
copy: copy:
@ -80,7 +80,7 @@
dest: "{{ matrix_mautrix_hangouts_config_path }}/registration.yaml" dest: "{{ matrix_mautrix_hangouts_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-mautrix-hangouts.service installed - name: Ensure matrix-mautrix-hangouts.service installed
template: template:

View file

@ -21,7 +21,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_mautrix_telegram_base_path }}" - "{{ matrix_mautrix_telegram_base_path }}"
- "{{ matrix_mautrix_telegram_config_path }}" - "{{ matrix_mautrix_telegram_config_path }}"
@ -50,7 +50,7 @@
dest: "{{ matrix_mautrix_telegram_config_path }}/config.yaml" dest: "{{ matrix_mautrix_telegram_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure mautrix-telegram registration.yaml installed - name: Ensure mautrix-telegram registration.yaml installed
copy: copy:
@ -58,7 +58,7 @@
dest: "{{ matrix_mautrix_telegram_config_path }}/registration.yaml" dest: "{{ matrix_mautrix_telegram_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-mautrix-telegram.service installed - name: Ensure matrix-mautrix-telegram.service installed
template: template:

View file

@ -21,7 +21,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_mautrix_whatsapp_base_path }}" - "{{ matrix_mautrix_whatsapp_base_path }}"
- "{{ matrix_mautrix_whatsapp_config_path }}" - "{{ matrix_mautrix_whatsapp_config_path }}"
@ -59,7 +59,7 @@
dest: "{{ matrix_mautrix_whatsapp_config_path }}/config.yaml" dest: "{{ matrix_mautrix_whatsapp_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure mautrix-whatsapp registration.yaml installed - name: Ensure mautrix-whatsapp registration.yaml installed
copy: copy:
@ -67,7 +67,7 @@
dest: "{{ matrix_mautrix_whatsapp_config_path }}/registration.yaml" dest: "{{ matrix_mautrix_whatsapp_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-mautrix-whatsapp.service installed - name: Ensure matrix-mautrix-whatsapp.service installed
template: template:

View file

@ -22,7 +22,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_mx_puppet_skype_base_path }}", when: true } - { path: "{{ matrix_mx_puppet_skype_base_path }}", when: true }
- { path: "{{ matrix_mx_puppet_skype_config_path }}", when: true } - { path: "{{ matrix_mx_puppet_skype_config_path }}", when: true }
@ -42,6 +42,7 @@
docker_image: docker_image:
name: "{{ matrix_mx_puppet_skype_docker_image }}" name: "{{ matrix_mx_puppet_skype_docker_image }}"
source: build source: build
force_source: yes
build: build:
dockerfile: Dockerfile dockerfile: Dockerfile
path: "{{ matrix_mx_puppet_skype_docker_src_files_path }}" path: "{{ matrix_mx_puppet_skype_docker_src_files_path }}"
@ -71,7 +72,7 @@
dest: "{{ matrix_mx_puppet_skype_config_path }}/config.yaml" dest: "{{ matrix_mx_puppet_skype_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure mx-puppet-skype skype-registration.yaml installed - name: Ensure mx-puppet-skype skype-registration.yaml installed
copy: copy:
@ -79,7 +80,7 @@
dest: "{{ matrix_mx_puppet_skype_config_path }}/registration.yaml" dest: "{{ matrix_mx_puppet_skype_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-mx-puppet-skype.service installed - name: Ensure matrix-mx-puppet-skype.service installed
template: template:

View file

@ -22,7 +22,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_mx_puppet_slack_base_path }}", when: true } - { path: "{{ matrix_mx_puppet_slack_base_path }}", when: true }
- { path: "{{ matrix_mx_puppet_slack_config_path }}", when: true } - { path: "{{ matrix_mx_puppet_slack_config_path }}", when: true }
@ -70,7 +70,7 @@
dest: "{{ matrix_mx_puppet_slack_config_path }}/config.yaml" dest: "{{ matrix_mx_puppet_slack_config_path }}/config.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure mx-puppet-slack slack-registration.yaml installed - name: Ensure mx-puppet-slack slack-registration.yaml installed
copy: copy:
@ -78,7 +78,7 @@
dest: "{{ matrix_mx_puppet_slack_config_path }}/registration.yaml" dest: "{{ matrix_mx_puppet_slack_config_path }}/registration.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-mx-puppet-slack.service installed - name: Ensure matrix-mx-puppet-slack.service installed
template: template:

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_corporal_config_dir_path }}" - "{{ matrix_corporal_config_dir_path }}"
- "{{ matrix_corporal_cache_dir_path }}" - "{{ matrix_corporal_cache_dir_path }}"
@ -31,7 +31,7 @@
dest: "{{ matrix_corporal_config_dir_path }}/config.json" dest: "{{ matrix_corporal_config_dir_path }}/config.json"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_corporal_enabled|bool when: matrix_corporal_enabled|bool
- name: Ensure matrix-corporal.service installed - name: Ensure matrix-corporal.service installed

View file

@ -2,7 +2,7 @@ matrix_coturn_enabled: true
matrix_coturn_container_image_self_build: false matrix_coturn_container_image_self_build: false
matrix_coturn_docker_image: "instrumentisto/coturn:4.5.1.1" matrix_coturn_docker_image: "instrumentisto/coturn:4.5.1.2"
matrix_coturn_docker_image_force_pull: "{{ matrix_coturn_docker_image.endswith(':latest') }}" matrix_coturn_docker_image_force_pull: "{{ matrix_coturn_docker_image.endswith(':latest') }}"
# The Docker network that Coturn would be put into. # The Docker network that Coturn would be put into.

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_coturn_docker_src_files_path }}", when: "{{ matrix_coturn_container_image_self_build }}"} - { path: "{{ matrix_coturn_docker_src_files_path }}", when: "{{ matrix_coturn_container_image_self_build }}"}
when: matrix_riot_web_enabled|bool and item.when when: matrix_riot_web_enabled|bool and item.when
@ -47,7 +47,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_coturn_enabled|bool when: matrix_coturn_enabled|bool
- name: Ensure turnserver.conf installed - name: Ensure turnserver.conf installed

View file

@ -9,6 +9,9 @@ Type=simple
ExecStartPre=-/usr/bin/docker kill matrix-dimension ExecStartPre=-/usr/bin/docker kill matrix-dimension
ExecStartPre=-/usr/bin/docker rm matrix-dimension ExecStartPre=-/usr/bin/docker rm matrix-dimension
# Fixup database ownership if it got changed somehow (during a server migration, etc.)
ExecStartPre=-/usr/bin/chown {{ matrix_dimension_user_uid }}:{{ matrix_dimension_user_gid }} {{ matrix_dimension_base_path }}/dimension.db
ExecStart=/usr/bin/docker run --rm --name matrix-dimension \ ExecStart=/usr/bin/docker run --rm --name matrix-dimension \
--log-driver=none \ --log-driver=none \
--user={{ matrix_dimension_user_uid }}:{{ matrix_dimension_user_gid }} \ --user={{ matrix_dimension_user_uid }}:{{ matrix_dimension_user_gid }} \

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_email2matrix_base_path }}" - "{{ matrix_email2matrix_base_path }}"
- "{{ matrix_email2matrix_config_dir_path }}" - "{{ matrix_email2matrix_config_dir_path }}"
@ -21,7 +21,7 @@
src: "{{ role_path }}/templates/config.json.j2" src: "{{ role_path }}/templates/config.json.j2"
dest: "{{ matrix_email2matrix_config_dir_path }}/config.json" dest: "{{ matrix_email2matrix_config_dir_path }}/config.json"
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
mode: 0640 mode: 0640
when: matrix_email2matrix_enabled|bool when: matrix_email2matrix_enabled|bool

View file

@ -7,6 +7,28 @@ matrix_jitsi_enable_guests: false
matrix_jitsi_enable_recording: true matrix_jitsi_enable_recording: true
matrix_jitsi_enable_transcriptions: true matrix_jitsi_enable_transcriptions: true
# Authentication type, must be one of internal, jwt or ldap. Currently only
# internal and ldap are supported by this playbook.
matrix_jitsi_auth_type: internal
# Configuration options for LDAP authentication. For details see upstream:
# https://github.com/jitsi/docker-jitsi-meet#authentication-using-ldap.
# Defaults are taken from:
# https://github.com/jitsi/docker-jitsi-meet/blob/master/prosody/rootfs/defaults/saslauthd.conf
matrix_jitsi_ldap_url: ""
matrix_jitsi_ldap_base: ""
matrix_jitsi_ldap_binddn: ""
matrix_jitsi_ldap_bindpw: ""
matrix_jitsi_ldap_filter: "uid=%u"
matrix_jitsi_ldap_auth_method: "bind"
matrix_jitsi_ldap_version: "3"
matrix_jitsi_ldap_use_tls: false
matrix_jitsi_ldap_tls_ciphers: ""
matrix_jitsi_ldap_tls_check_peer: false
matrix_jitsi_ldap_tls_cacert_file: "/etc/ssl/certs/ca-certificates.crt"
matrix_jitsi_ldap_tls_cacert_dir: "/etc/ssl/certs"
matrix_jitsi_ldap_start_tls: false
matrix_jitsi_timezone: UTC matrix_jitsi_timezone: UTC
matrix_jitsi_xmpp_domain: matrix-jitsi-web matrix_jitsi_xmpp_domain: matrix-jitsi-web

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_jitsi_base_path }}", when: true } - { path: "{{ matrix_jitsi_base_path }}", when: true }
when: matrix_jitsi_enabled|bool and item.when when: matrix_jitsi_enabled|bool and item.when

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0777 mode: 0777
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_jitsi_jicofo_base_path }}", when: true } - { path: "{{ matrix_jitsi_jicofo_base_path }}", when: true }
- { path: "{{ matrix_jitsi_jicofo_config_path }}", when: true } - { path: "{{ matrix_jitsi_jicofo_config_path }}", when: true }

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0777 mode: 0777
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_jitsi_jvb_base_path }}", when: true } - { path: "{{ matrix_jitsi_jvb_base_path }}", when: true }
- { path: "{{ matrix_jitsi_jvb_config_path }}", when: true } - { path: "{{ matrix_jitsi_jvb_config_path }}", when: true }

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0777 mode: 0777
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_jitsi_prosody_base_path }}", when: true } - { path: "{{ matrix_jitsi_prosody_base_path }}", when: true }
- { path: "{{ matrix_jitsi_prosody_config_path }}", when: true } - { path: "{{ matrix_jitsi_prosody_config_path }}", when: true }

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0777 mode: 0777
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_jitsi_web_base_path }}", when: true } - { path: "{{ matrix_jitsi_web_base_path }}", when: true }
- { path: "{{ matrix_jitsi_web_config_path }}", when: true } - { path: "{{ matrix_jitsi_web_config_path }}", when: true }

View file

@ -1,8 +1,22 @@
AUTH_TYPE=internal AUTH_TYPE={{ matrix_jitsi_auth_type }}
ENABLE_AUTH={{ 1 if matrix_jitsi_enable_auth else 0 }} ENABLE_AUTH={{ 1 if matrix_jitsi_enable_auth else 0 }}
ENABLE_GUESTS={{ 1 if matrix_jitsi_enable_guests else 0 }} ENABLE_GUESTS={{ 1 if matrix_jitsi_enable_guests else 0 }}
LDAP_URL={{ matrix_jitsi_ldap_url }}
LDAP_BASE={{ matrix_jitsi_ldap_base }}
LDAP_BINDDN={{ matrix_jitsi_ldap_binddn }}
LDAP_BINDPW={{ matrix_jitsi_ldap_bindpw }}
LDAP_FILTER={{ matrix_jitsi_ldap_filter }}
LDAP_AUTH_METHOD={{ matrix_jitsi_ldap_auth_method }}
LDAP_VERSION={{ matrix_jitsi_ldap_version }}
LDAP_USE_TLS={{ 1 if matrix_jitsi_ldap_use_tls else 0 }}
LDAP_TLS_CIPHERS={{ matrix_jitsi_ldap_tls_ciphers }}
LDAP_TLS_CHECK_PEER={{ 1 if matrix_jitsi_ldap_tls_check_peer else 0 }}
LDAP_TLS_CACERT_FILE={{ matrix_jitsi_ldap_tls_cacert_file }}
LDAP_TLS_CACERT_DIR={{ matrix_jitsi_ldap_tls_cacert_dir }}
LDAP_START_TLS={{ 1 if matrix_jitsi_ldap_start_tls else 0 }}
XMPP_DOMAIN={{ matrix_jitsi_xmpp_domain }} XMPP_DOMAIN={{ matrix_jitsi_xmpp_domain }}
XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }} XMPP_AUTH_DOMAIN={{ matrix_jitsi_xmpp_auth_domain }}
XMPP_GUEST_DOMAIN={{ matrix_jitsi_xmpp_guest_domain }} XMPP_GUEST_DOMAIN={{ matrix_jitsi_xmpp_guest_domain }}

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_ma1sd_config_path }}", when: true } - { path: "{{ matrix_ma1sd_config_path }}", when: true }
- { path: "{{ matrix_ma1sd_data_path }}", when: true } - { path: "{{ matrix_ma1sd_data_path }}", when: true }
@ -69,7 +69,7 @@
dest: "{{ matrix_ma1sd_config_path }}/ma1sd.yaml" dest: "{{ matrix_ma1sd_config_path }}/ma1sd.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_ma1sd_enabled|bool when: matrix_ma1sd_enabled|bool
- name: Ensure custom templates are installed if any - name: Ensure custom templates are installed if any
@ -78,7 +78,7 @@
dest: "{{ matrix_ma1sd_data_path }}/{{ item.location }}" dest: "{{ matrix_ma1sd_data_path }}/{{ item.location }}"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- {value: "{{ matrix_ma1sd_threepid_medium_email_custom_invite_template }}", location: 'invite-template.eml'} - {value: "{{ matrix_ma1sd_threepid_medium_email_custom_invite_template }}", location: 'invite-template.eml'}
- {value: "{{ matrix_ma1sd_threepid_medium_email_custom_session_validation_template }}", location: 'validate-template.eml'} - {value: "{{ matrix_ma1sd_threepid_medium_email_custom_session_validation_template }}", location: 'validate-template.eml'}

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_mailer_enabled|bool when: matrix_mailer_enabled|bool
- name: Ensure mailer environment variables file created - name: Ensure mailer environment variables file created

View file

@ -16,7 +16,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_nginx_proxy_base_path }}" - "{{ matrix_nginx_proxy_base_path }}"
- "{{ matrix_nginx_proxy_data_path }}" - "{{ matrix_nginx_proxy_data_path }}"
@ -34,7 +34,7 @@
src: "{{ role_path }}/templates/nginx/matrix-synapse-metrics-htpasswd.j2" src: "{{ role_path }}/templates/nginx/matrix-synapse-metrics-htpasswd.j2"
dest: "{{ matrix_nginx_proxy_data_path }}/matrix-synapse-metrics-htpasswd" dest: "{{ matrix_nginx_proxy_data_path }}/matrix-synapse-metrics-htpasswd"
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
mode: 0400 mode: 0400
when: "matrix_nginx_proxy_proxy_synapse_metrics_basic_auth_enabled|bool and matrix_nginx_proxy_proxy_synapse_metrics|bool" when: "matrix_nginx_proxy_proxy_synapse_metrics_basic_auth_enabled|bool and matrix_nginx_proxy_proxy_synapse_metrics|bool"
@ -79,7 +79,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_nginx_proxy_base_domain_serving_enabled|bool when: matrix_nginx_proxy_base_domain_serving_enabled|bool
- name: Ensure Matrix nginx-proxy homepage for base domain exists - name: Ensure Matrix nginx-proxy homepage for base domain exists
@ -88,7 +88,7 @@
dest: "{{ matrix_nginx_proxy_data_path }}/matrix-domain/index.html" dest: "{{ matrix_nginx_proxy_data_path }}/matrix-domain/index.html"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_nginx_proxy_base_domain_serving_enabled|bool and matrix_nginx_proxy_base_domain_homepage_enabled|bool when: matrix_nginx_proxy_base_domain_serving_enabled|bool and matrix_nginx_proxy_base_domain_homepage_enabled|bool
- name: Ensure Matrix nginx-proxy configuration for base domain exists - name: Ensure Matrix nginx-proxy configuration for base domain exists

View file

@ -11,7 +11,7 @@
state: directory state: directory
mode: 0755 mode: 0755
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_static_files_base_path }}/.well-known/matrix" - "{{ matrix_static_files_base_path }}/.well-known/matrix"
@ -21,4 +21,4 @@
dest: "{{ matrix_static_files_base_path }}/.well-known/matrix" dest: "{{ matrix_static_files_base_path }}/.well-known/matrix"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"

View file

@ -14,7 +14,7 @@
state: directory state: directory
mode: 0770 mode: 0770
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
recurse: true recurse: true
with_items: with_items:
- "{{ matrix_ssl_log_dir_path }}" - "{{ matrix_ssl_log_dir_path }}"

View file

@ -17,7 +17,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: "not matrix_ssl_certificate_cert_path_stat_result.stat.exists" when: "not matrix_ssl_certificate_cert_path_stat_result.stat.exists"
# The proper way to do this is by using a sequence of # The proper way to do this is by using a sequence of

View file

@ -50,7 +50,7 @@
state: directory state: directory
mode: 0700 mode: 0700
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-postgres is started - name: Ensure matrix-postgres is started
service: service:

View file

@ -46,7 +46,7 @@
state: directory state: directory
mode: 0700 mode: 0700
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: "result_pg_old_data_dir_stat.stat.exists" when: "result_pg_old_data_dir_stat.stat.exists"
- block: - block:

View file

@ -42,7 +42,7 @@
force: true force: true
mode: 0550 mode: 0550
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure matrix-postgres is started - name: Ensure matrix-postgres is started
service: service:

View file

@ -38,7 +38,7 @@
state: directory state: directory
mode: 0700 mode: 0700
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- "{{ matrix_postgres_base_path }}" - "{{ matrix_postgres_base_path }}"
- "{{ matrix_postgres_data_path }}" - "{{ matrix_postgres_data_path }}"
@ -52,7 +52,7 @@
path: "{{ matrix_postgres_data_path }}" path: "{{ matrix_postgres_data_path }}"
state: directory state: directory
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
recurse: yes recurse: yes
when: matrix_postgres_enabled|bool when: matrix_postgres_enabled|bool

View file

@ -2,7 +2,7 @@ matrix_riot_web_enabled: true
matrix_riot_web_container_image_self_build: false matrix_riot_web_container_image_self_build: false
matrix_riot_web_docker_image: "vectorim/riot-web:v1.5.15" matrix_riot_web_docker_image: "vectorim/riot-web:v1.6.0"
matrix_riot_web_docker_image_force_pull: "{{ matrix_riot_web_docker_image.endswith(':latest') }}" matrix_riot_web_docker_image_force_pull: "{{ matrix_riot_web_docker_image.endswith(':latest') }}"
matrix_riot_web_data_path: "{{ matrix_base_data_path }}/riot-web" matrix_riot_web_data_path: "{{ matrix_base_data_path }}/riot-web"

View file

@ -10,7 +10,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_riot_web_data_path }}", when: true } - { path: "{{ matrix_riot_web_data_path }}", when: true }
- { path: "{{ matrix_riot_web_docker_src_files_path }}", when: "{{ matrix_riot_web_container_image_self_build }}" } - { path: "{{ matrix_riot_web_docker_src_files_path }}", when: "{{ matrix_riot_web_container_image_self_build }}" }
@ -48,7 +48,7 @@
dest: "{{ matrix_riot_web_data_path }}/config.json" dest: "{{ matrix_riot_web_data_path }}/config.json"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: matrix_riot_web_enabled|bool when: matrix_riot_web_enabled|bool
- name: Ensure Matrix riot-web config files installed - name: Ensure Matrix riot-web config files installed
@ -57,7 +57,7 @@
dest: "{{ matrix_riot_web_data_path }}/{{ item.name }}" dest: "{{ matrix_riot_web_data_path }}/{{ item.name }}"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- {src: "{{ role_path }}/templates/nginx.conf.j2", name: "nginx.conf"} - {src: "{{ role_path }}/templates/nginx.conf.j2", name: "nginx.conf"}
- {src: "{{ role_path }}/templates/welcome.html.j2", name: "welcome.html"} - {src: "{{ role_path }}/templates/welcome.html.j2", name: "welcome.html"}

View file

@ -12,7 +12,7 @@
force: true force: true
mode: 0440 mode: 0440
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- set_fact: - set_fact:
matrix_synapse_password_providers_enabled: true matrix_synapse_password_providers_enabled: true

View file

@ -12,7 +12,7 @@
force: true force: true
mode: 0440 mode: 0440
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- set_fact: - set_fact:
matrix_synapse_password_providers_enabled: true matrix_synapse_password_providers_enabled: true

View file

@ -17,8 +17,8 @@
path: "{{ matrix_synapse_media_store_path }}" path: "{{ matrix_synapse_media_store_path }}"
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_uid }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_gid }}" group: "{{ matrix_user_groupname }}"
when: "not local_path_matrix_synapse_media_store_path_stat.failed and not local_path_matrix_synapse_media_store_path_stat.stat.exists" when: "not local_path_matrix_synapse_media_store_path_stat.failed and not local_path_matrix_synapse_media_store_path_stat.stat.exists"
- name: Ensure goofys environment variables file created - name: Ensure goofys environment variables file created

View file

@ -66,7 +66,7 @@
file: file:
path: "{{ matrix_synapse_media_store_path }}" path: "{{ matrix_synapse_media_store_path }}"
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
recurse: yes recurse: yes
when: "not matrix_s3_media_store_enabled|bool" when: "not matrix_s3_media_store_enabled|bool"

View file

@ -6,7 +6,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
with_items: with_items:
- { path: "{{ matrix_synapse_config_dir_path }}", when: true } - { path: "{{ matrix_synapse_config_dir_path }}", when: true }
- { path: "{{ matrix_synapse_run_path }}", when: true } - { path: "{{ matrix_synapse_run_path }}", when: true }

View file

@ -15,7 +15,7 @@
state: directory state: directory
mode: 0750 mode: 0750
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
when: "not local_path_media_store_stat.failed and not local_path_media_store_stat.stat.exists" when: "not local_path_media_store_stat.failed and not local_path_media_store_stat.stat.exists"
- name: Ensure Synapse repository is present on self-build - name: Ensure Synapse repository is present on self-build
@ -79,7 +79,7 @@
dest: "{{ matrix_synapse_config_dir_path }}/homeserver.yaml" dest: "{{ matrix_synapse_config_dir_path }}/homeserver.yaml"
mode: 0644 mode: 0644
owner: "{{ matrix_user_username }}" owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}" group: "{{ matrix_user_groupname }}"
- name: Ensure Synapse log config installed - name: Ensure Synapse log config installed
template: template: