| @@ -38,14 +38,18 @@ Then from the plugin manager page (`https://etherpad.<your-domain>/admin/plugins | |||||
| ## Set Dimension default to the self-hosted Etherpad (optional) | ## Set Dimension default to the self-hosted Etherpad (optional) | ||||
| If you decided to install [Dimension integration manager](configuring-playbook-dimension.md) alongside with Etherpad, | If you decided to install [Dimension integration manager](configuring-playbook-dimension.md) alongside with Etherpad, | ||||
| the Dimension administrator users can configure the default URL template. The Dimension configuration menu can be accessed with the sprocket icon as you begin to add a widget to a room in Element. There you will find the Etherpad Widget Configuration action beneath the _Widgets_ tab. Replace `scalar.vector.im` with your own Dimension domain. | |||||
| the Dimension administrator users can configure the default URL template. The Dimension configuration menu can be accessed with the sprocket icon as you begin to add a widget to a room in Element. There you will find the Etherpad Widget Configuration action beneath the _Widgets_ tab. Replace `scalar.vector.im` with your own Dimension domain and add the following to your vars.yml: | |||||
| ```yaml | |||||
| matrix_etherpad_mode: dimension | |||||
| ``` | |||||
| ### Removing the integrated Etherpad chat | ### Removing the integrated Etherpad chat | ||||
| If you wish to disable the Etherpad chat button, you can do it by appending `?showChat=false` to the end of the pad URL, or the template. | If you wish to disable the Etherpad chat button, you can do it by appending `?showChat=false` to the end of the pad URL, or the template. | ||||
| Example: `https://dimension.<your-domain>/etherpad/p/$roomId_$padName?showChat=false` | Example: `https://dimension.<your-domain>/etherpad/p/$roomId_$padName?showChat=false` | ||||
| ## Known issues | |||||
| ### Known issues | |||||
| If your Etherpad widget fails to load, this might be due to Dimension generating a Pad name so long, the Etherpad app rejects it. | If your Etherpad widget fails to load, this might be due to Dimension generating a Pad name so long, the Etherpad app rejects it. | ||||
| `$roomId_$padName` can end up being longer than 50 characters. You can avoid having this problem by altering the template so it only contains the three word random identifier `$padName`. | `$roomId_$padName` can end up being longer than 50 characters. You can avoid having this problem by altering the template so it only contains the three word random identifier `$padName`. | ||||
| @@ -1526,7 +1526,7 @@ matrix_etherpad_enabled: false | |||||
| matrix_etherpad_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:9001' }}" | matrix_etherpad_container_http_host_bind_port: "{{ '' if matrix_nginx_proxy_enabled else '127.0.0.1:9001' }}" | ||||
| matrix_etherpad_base_url: "{{ 'https://'+ matrix_server_fqn_dimension + matrix_etherpad_public_endpoint if matrix_dimension_enabled else 'https://' + matrix_server_fqn_etherpad + '/' }}" | |||||
| matrix_etherpad_base_url: "{{ 'https://'+ matrix_server_fqn_dimension + matrix_etherpad_public_endpoint if matrix_etherpad_mode == 'dimension' else 'https://' + matrix_server_fqn_etherpad + '/' }}" | |||||
| matrix_etherpad_systemd_required_services_list: | | matrix_etherpad_systemd_required_services_list: | | ||||
| {{ | {{ | ||||
| @@ -1752,7 +1752,7 @@ matrix_nginx_proxy_proxy_hydrogen_enabled: "{{ matrix_client_hydrogen_enabled }} | |||||
| matrix_nginx_proxy_proxy_cinny_enabled: "{{ matrix_client_cinny_enabled }}" | matrix_nginx_proxy_proxy_cinny_enabled: "{{ matrix_client_cinny_enabled }}" | ||||
| matrix_nginx_proxy_proxy_buscarron_enabled: "{{ matrix_bot_buscarron_enabled }}" | matrix_nginx_proxy_proxy_buscarron_enabled: "{{ matrix_bot_buscarron_enabled }}" | ||||
| matrix_nginx_proxy_proxy_dimension_enabled: "{{ matrix_dimension_enabled }}" | matrix_nginx_proxy_proxy_dimension_enabled: "{{ matrix_dimension_enabled }}" | ||||
| matrix_nginx_proxy_proxy_etherpad_enabled: "{{ matrix_etherpad_enabled }}" | |||||
| matrix_nginx_proxy_proxy_etherpad_enabled: "{{ matrix_etherpad_enabled and matrix_etherpad_mode == 'standalone' }}" | |||||
| matrix_nginx_proxy_proxy_bot_go_neb_enabled: "{{ matrix_bot_go_neb_enabled }}" | matrix_nginx_proxy_proxy_bot_go_neb_enabled: "{{ matrix_bot_go_neb_enabled }}" | ||||
| matrix_nginx_proxy_proxy_jitsi_enabled: "{{ matrix_jitsi_enabled }}" | matrix_nginx_proxy_proxy_jitsi_enabled: "{{ matrix_jitsi_enabled }}" | ||||
| matrix_nginx_proxy_proxy_grafana_enabled: "{{ matrix_grafana_enabled }}" | matrix_nginx_proxy_proxy_grafana_enabled: "{{ matrix_grafana_enabled }}" | ||||
| @@ -1859,7 +1859,7 @@ matrix_nginx_proxy_systemd_wanted_services_list: | | |||||
| + | + | ||||
| (['matrix-bot-go-neb.service'] if matrix_bot_go_neb_enabled else []) | (['matrix-bot-go-neb.service'] if matrix_bot_go_neb_enabled else []) | ||||
| + | + | ||||
| (['matrix-etherpad.service'] if matrix_etherpad_enabled and matrix_dimension_enabled else []) | |||||
| (['matrix-etherpad.service'] if matrix_etherpad_enabled else []) | |||||
| + | + | ||||
| (['matrix-hookshot.service'] if matrix_hookshot_enabled else []) | (['matrix-hookshot.service'] if matrix_hookshot_enabled else []) | ||||
| }} | }} | ||||
| @@ -1880,7 +1880,7 @@ matrix_ssl_domains_to_obtain_certificates_for: | | |||||
| + | + | ||||
| ([matrix_server_fqn_dimension] if matrix_dimension_enabled else []) | ([matrix_server_fqn_dimension] if matrix_dimension_enabled else []) | ||||
| + | + | ||||
| ([matrix_server_fqn_etherpad] if (matrix_etherpad_enabled and not matrix_dimension_enabled) else []) | |||||
| ([matrix_server_fqn_etherpad] if (matrix_etherpad_enabled and matrix_etherpad_mode == 'standalone') else []) | |||||
| + | + | ||||
| ([matrix_server_fqn_bot_go_neb] if matrix_bot_go_neb_enabled else []) | ([matrix_server_fqn_bot_go_neb] if matrix_bot_go_neb_enabled else []) | ||||
| + | + | ||||
| @@ -3,6 +3,10 @@ | |||||
| matrix_etherpad_enabled: false | matrix_etherpad_enabled: false | ||||
| # standalone = etherpad installed on subdomain (etherpad.DOMAIN) and can be used as-is | |||||
| # dimension = etherpad installed in subdir of dimension (dimension.DOMAIN/etherpad) and can be used with dimension | |||||
| matrix_etherpad_mode: standalone | |||||
| matrix_etherpad_base_path: "{{ matrix_base_data_path }}/etherpad" | matrix_etherpad_base_path: "{{ matrix_base_data_path }}/etherpad" | ||||
| matrix_etherpad_version: 1.8.18 | matrix_etherpad_version: 1.8.18 | ||||
| @@ -31,8 +35,8 @@ matrix_etherpad_container_extra_arguments: [] | |||||
| # Used for dimension only | # Used for dimension only | ||||
| matrix_etherpad_public_endpoint: '/etherpad' | matrix_etherpad_public_endpoint: '/etherpad' | ||||
| # By default, the Etherpad app can be accessed within the Dimension domain | |||||
| matrix_etherpad_base_url: "https://{{ matrix_server_fqn_dimension }}{{ matrix_etherpad_public_endpoint }}" | |||||
| # By default, the Etherpad app can be accessed on etherpad subdomain | |||||
| matrix_etherpad_base_url: "https://{{ matrix_server_fqn_etherpad }}/" | |||||
| # Database-related configuration fields. | # Database-related configuration fields. | ||||
| # | # | ||||
| @@ -4,7 +4,7 @@ | |||||
| matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-etherpad.service'] }}" | matrix_systemd_services_list: "{{ matrix_systemd_services_list + ['matrix-etherpad.service'] }}" | ||||
| when: matrix_etherpad_enabled | bool | when: matrix_etherpad_enabled | bool | ||||
| - when: matrix_etherpad_enabled | bool and matrix_dimension_enabled | default(False) | bool | |||||
| - when: matrix_etherpad_enabled | bool and matrix_etherpad_mode == 'dimension' | |||||
| tags: | tags: | ||||
| - always | - always | ||||
| block: | block: | ||||
| @@ -52,13 +52,3 @@ | |||||
| + | + | ||||
| [matrix_etherpad_matrix_nginx_proxy_configuration] | [matrix_etherpad_matrix_nginx_proxy_configuration] | ||||
| }} | }} | ||||
| - name: Warn about reverse-proxying if matrix-nginx-proxy not used | |||||
| ansible.builtin.debug: | |||||
| msg: >- | |||||
| NOTE: You've enabled the Etherpad tool but are not using the matrix-nginx-proxy | |||||
| reverse proxy. | |||||
| Please make sure that you're proxying the `{{ matrix_etherpad_public_endpoint }}` | |||||
| URL endpoint to the matrix-etherpad container. | |||||
| You can expose the container's port using the `matrix_etherpad_container_http_host_bind_port` variable. | |||||
| when: "matrix_etherpad_enabled | bool and not matrix_nginx_proxy_enabled | default(False) | bool" | |||||