* feat: auto-accept-invite module and docs
* fix: name typos and some forgot to adjust variables
* fix: accept only direct messages should work now and better wording
* changed: only_direct_messages variable naming
* feat: add logger, add synapse workers config
* Fix typo and add details about synapse-auto-acccept-invite
* Add newline at end of file
* Fix alignment
* Fix logger name for synapse_auto_accept_invite
The name of the logger needs to match the name of the Python module.
Ref: d673c67678/synapse_auto_accept_invite/__init__.py (L20)
* Add missing document start YAML annotation
* Remove trailing spaces
---------
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
pull/3196/head
| @@ -165,6 +165,7 @@ Various services that don't fit any other category. | |||||
| | Name | Default? | Description | Documentation | | | Name | Default? | Description | Documentation | | ||||
| | ---- | -------- | ----------- | ------------- | | | ---- | -------- | ----------- | ------------- | | ||||
| | [sliding-sync](https://github.com/matrix-org/sliding-sync)| x | Sliding Sync support for clients which require it (e.g. Element X) | [Link](docs/configuring-playbook-sliding-sync-proxy.md) | | | [sliding-sync](https://github.com/matrix-org/sliding-sync)| x | Sliding Sync support for clients which require it (e.g. Element X) | [Link](docs/configuring-playbook-sliding-sync-proxy.md) | | ||||
| | [synapse_auto_accept_invite](https://github.com/matrix-org/synapse-auto-accept-invite) | x | A Synapse module to automatically accept invites. | [Link](docs/configuring-playbook-synapse-auto-accept-invite.md) | | |||||
| | [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) | x | A cli tool that automatically compresses `state_groups` database table in background. | [Link](docs/configuring-playbook-synapse-auto-compressor.md) | | | [synapse_auto_compressor](https://github.com/matrix-org/rust-synapse-compress-state/#automated-tool-synapse_auto_compressor) | x | A cli tool that automatically compresses `state_groups` database table in background. | [Link](docs/configuring-playbook-synapse-auto-compressor.md) | | ||||
| | [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) (advanced) | x | A spam checker module | [Link](docs/configuring-playbook-synapse-simple-antispam.md) | | | [synapse-simple-antispam](https://github.com/t2bot/synapse-simple-antispam) (advanced) | x | A spam checker module | [Link](docs/configuring-playbook-synapse-simple-antispam.md) | | ||||
| | [Matrix Corporal](https://github.com/devture/matrix-corporal) (advanced) | x | Reconciliator and gateway for a managed Matrix server | [Link](docs/configuring-playbook-matrix-corporal.md) | | | [Matrix Corporal](https://github.com/devture/matrix-corporal) (advanced) | x | Reconciliator and gateway for a managed Matrix server | [Link](docs/configuring-playbook-matrix-corporal.md) | | ||||
| @@ -0,0 +1,24 @@ | |||||
| # Setting up Synapse Auto Invite Accept (optional) | |||||
| The playbook can install and configure [synapse-auto-invite-accept](https://github.com/matrix-org/synapse-auto-accept-invite) for you. | |||||
| See that project's [documentation](https://github.com/matrix-org/synapse-auto-accept-invite) to learn what it does and why it might be useful to you. | |||||
| In short, it automatically accepts room invites. You can specify that only 1:1 room invites are auto-accepted. Defaults to false if not specified. | |||||
| If you decide that you'd like to let this playbook install it for you, you need a configuration like this: | |||||
| ```yaml | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_enabled: true | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_accept_invites_only_direct_messages: true | |||||
| ``` | |||||
| ## Synapse worker deployments | |||||
| In a [workerized Synapse deployment](https://github.com/spantaleev/matrix-docker-ansible-deploy/blob/c9a842147e09647c355799ca024d65a5de66b099/docs/configuring-playbook-synapse.md#load-balancing-with-workers) it is possible to run this module on a worker to reduce the load on the main process (Default is 'null'). For example add this to your configuration: | |||||
| ```yaml | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_worker_to_run_on: 'matrix-synapse-worker-generic-0' | |||||
| ``` | |||||
| There might be an [issue with federation](https://github.com/matrix-org/synapse-auto-accept-invite/issues/18). | |||||
| @@ -40,12 +40,18 @@ matrix_synapse_container_image_customizations_enabled: |- | |||||
| matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled | matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled | ||||
| or | or | ||||
| matrix_synapse_container_image_customizations_templates_enabled | matrix_synapse_container_image_customizations_templates_enabled | ||||
| or | |||||
| matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled | |||||
| }} | }} | ||||
| # Controls whether custom build steps will be added to the Dockerfile for installing s3-storage-provider. | # Controls whether custom build steps will be added to the Dockerfile for installing s3-storage-provider. | ||||
| # The version that will be installed is specified in `matrix_synapse_ext_synapse_s3_storage_provider_version`. | # The version that will be installed is specified in `matrix_synapse_ext_synapse_s3_storage_provider_version`. | ||||
| matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}" | matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled: "{{ matrix_synapse_ext_synapse_s3_storage_provider_enabled }}" | ||||
| # Controls whether custom build steps will be added to the Dockerfile for installing auto-accept-invite module. | |||||
| # The version that will be installed is specified in `matrix_synapse_ext_synapse_auto_accept_invite_version`. | |||||
| matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled: "{{ matrix_synapse_ext_synapse_auto_accept_invite_enabled }}" | |||||
| # Controls whether custom build steps will be added to the Dockerfile for customizing the email templates used by Synapse. | # Controls whether custom build steps will be added to the Dockerfile for customizing the email templates used by Synapse. | ||||
| # | # | ||||
| # Example usage: | # Example usage: | ||||
| @@ -1212,6 +1218,17 @@ matrix_synapse_ext_synapse_s3_storage_provider_update_db_day_count: 0 | |||||
| # This is a systemd timer OnCalendar definition. Learn more here: https://man.archlinux.org/man/systemd.time.7#CALENDAR_EVENTS | # This is a systemd timer OnCalendar definition. Learn more here: https://man.archlinux.org/man/systemd.time.7#CALENDAR_EVENTS | ||||
| matrix_synapse_ext_synapse_s3_storage_provider_periodic_migration_schedule: '*-*-* 05:00:00' | matrix_synapse_ext_synapse_s3_storage_provider_periodic_migration_schedule: '*-*-* 05:00:00' | ||||
| # Synapse module to automatically accept room invites. | |||||
| # See: https://github.com/matrix-org/synapse-auto-accept-invite | |||||
| # Installing it requires building a customized Docker image for Synapse (see `matrix_synapse_container_image_customizations_enabled`). | |||||
| # Enabling this will enable customizations and inject the appropriate Dockerfile clauses for installing synapse-auto-accept-invite. | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_enabled: false | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_version: 1.1.3 | |||||
| # Specifies whether only direct messages (1:1 rooms) will be auto accepted. | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_accept_invites_only_direct_messages: false | |||||
| # When Synapse workers enabled it is possible (but not required) to assign a worker to run this module on (null = main process). | |||||
| matrix_synapse_ext_synapse_auto_accept_invite_worker_to_run_on: null | |||||
| # Specifies whether an external media repository is enabled. | # Specifies whether an external media repository is enabled. | ||||
| # If it is, the Synapse media repo and media-repo workers will be disabled automatically. | # If it is, the Synapse media repo and media-repo workers will be disabled automatically. | ||||
| matrix_synapse_ext_media_repo_enabled: false | matrix_synapse_ext_media_repo_enabled: false | ||||
| @@ -72,3 +72,13 @@ | |||||
| - when: matrix_synapse_ext_synapse_s3_storage_provider_enabled | bool | - when: matrix_synapse_ext_synapse_s3_storage_provider_enabled | bool | ||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/s3-storage-provider/setup_install.yml" | ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/s3-storage-provider/setup_install.yml" | ||||
| # synapse-auto-accept-invite | |||||
| - tags: | |||||
| - setup-all | |||||
| - setup-synapse | |||||
| - install-all | |||||
| - install-synapse | |||||
| block: | |||||
| - when: matrix_synapse_ext_synapse_auto_accept_invite_enabled | bool | |||||
| ansible.builtin.include_tasks: "{{ role_path }}/tasks/ext/synapse-auto-accept-invite/setup_install.yml" | |||||
| @@ -0,0 +1,23 @@ | |||||
| --- | |||||
| - ansible.builtin.set_fact: | |||||
| matrix_synapse_modules: | | |||||
| {{ | |||||
| matrix_synapse_modules | default([]) | |||||
| + | |||||
| [ | |||||
| { | |||||
| "module": "synapse_auto_accept_invite.InviteAutoAccepter", | |||||
| "config": { | |||||
| "accept_invites_only_for_direct_messages": matrix_synapse_ext_synapse_auto_accept_invite_accept_invites_only_direct_messages, | |||||
| "worker_to_run_on": matrix_synapse_ext_synapse_auto_accept_invite_worker_to_run_on, | |||||
| }, | |||||
| }] | |||||
| }} | |||||
| matrix_synapse_additional_loggers_auto: > | |||||
| {{ | |||||
| matrix_synapse_additional_loggers_auto | |||||
| + | |||||
| [{'name': 'synapse_auto_accept_invite', 'level': 'INFO'}] | |||||
| }} | |||||
| @@ -1,6 +1,10 @@ | |||||
| #jinja2: lstrip_blocks: "True" | #jinja2: lstrip_blocks: "True" | ||||
| FROM {{ matrix_synapse_docker_image }} | FROM {{ matrix_synapse_docker_image }} | ||||
| {% if matrix_synapse_container_image_customizations_auto_accept_invite_installation_enabled %} | |||||
| RUN pip install synapse-auto-accept-invite=={{ matrix_synapse_ext_synapse_auto_accept_invite_version }} | |||||
| {% endif %} | |||||
| {% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %} | {% if matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled %} | ||||
| RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} | RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }} | ||||
| {% endif %} | {% endif %} | ||||