Просмотр исходного кода

feat: auto-accept-invite module and docs

pull/3195/head
xvsun 2 лет назад
Родитель
Сommit
afe9558a55
6 измененных файлов: 56 добавлений и 0 удалений
  1. +1
    -0
      README.md
  2. +14
    -0
      docs/configuring-playbook-synapse-auto-accept-invite.md
  3. +15
    -0
      roles/custom/matrix-synapse/defaults/main.yml
  4. +10
    -0
      roles/custom/matrix-synapse/tasks/ext/setup_install.yml
  5. +12
    -0
      roles/custom/matrix-synapse/tasks/ext/synapse-auto-accept-invite/setup_install.yml
  6. +4
    -0
      roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2

+ 1
- 0
README.md Просмотреть файл

@@ -165,6 +165,7 @@ Various services that don't fit any other category.
| 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) |
| [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-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) |


+ 14
- 0
docs/configuring-playbook-synapse-auto-accept-invite.md Просмотреть файл

@@ -0,0 +1,14 @@
# 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_auto_accept_invite_enabled: true

matrix_synapse_ext_auto_accept_invite_only_for_one_to_one: true
```

+ 15
- 0
roles/custom/matrix-synapse/defaults/main.yml Просмотреть файл

@@ -40,12 +40,18 @@ matrix_synapse_container_image_customizations_enabled: |-
matrix_synapse_container_image_customizations_s3_storage_provider_installation_enabled
or
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.
# 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 }}"

# 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_auto_accept_invite_enabled }}"

# Controls whether custom build steps will be added to the Dockerfile for customizing the email templates used by Synapse.
#
# Example usage:
@@ -1210,6 +1216,15 @@ 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
matrix_synapse_ext_synapse_s3_storage_provider_periodic_migration_schedule: '*-*-* 05:00:00'

# Synapse module to automatically accept room invites.
# 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_only_for_direct_messages: false

# Specifies whether an external media repository is enabled.
# If it is, the Synapse media repo and media-repo workers will be disabled automatically.
matrix_synapse_ext_media_repo_enabled: false


+ 10
- 0
roles/custom/matrix-synapse/tasks/ext/setup_install.yml Просмотреть файл

@@ -72,3 +72,13 @@

- when: matrix_synapse_ext_synapse_s3_storage_provider_enabled | bool
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"

+ 12
- 0
roles/custom/matrix-synapse/tasks/ext/synapse-auto-accept-invite/setup_install.yml Просмотреть файл

@@ -0,0 +1,12 @@
- ansible.builtin.set_fact:
matrix_synapse_modules: |
{{
matrix_synapse_modules | default([])
+
[
{
"module": "synapse_auto_accept_invite.InviteAutoAccepter",
"config": matrix_synapse_ext_auto_accept_invite_only_for_one_to_one
}
]
}}

+ 4
- 0
roles/custom/matrix-synapse/templates/synapse/customizations/Dockerfile.j2 Просмотреть файл

@@ -1,6 +1,10 @@
#jinja2: lstrip_blocks: "True"
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 %}
RUN pip install synapse-s3-storage-provider=={{ matrix_synapse_ext_synapse_s3_storage_provider_version }}
{% endif %}


Загрузка…
Отмена
Сохранить