Commit Graph

178 Commits

Author SHA1 Message Date
Slavi Pantaleev
ab008e20cf Upgrade Synapse (v1.102.0 -> v1.103.0) 2024-03-19 16:56:58 +02:00
Slavi Pantaleev
8f800472ca Upgrade Synapse (v1.101.0 -> v1.102.0) 2024-03-05 20:08:56 +02:00
xvsun
905bdfc551
Add Synapse module auto accept invite to rooms and direct messages (#3195)
* 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>
2024-02-21 18:04:14 +02:00
Slavi Pantaleev
e1363c9b9b Add lt-cred-mech authentication mechanism to Coturn
All homeserver implementations have been updated to support this as
well.

It's just Jitsi that possibly doesn't work with anything other than `auth-secret`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3191
2024-02-18 09:52:00 +02:00
Slavi Pantaleev
972fc6b914 Fix ansible-lint-reported error related to spaces before comments 2024-02-14 13:46:55 +02:00
Slavi Pantaleev
d0cda27c97 Fix Synapse cache auto-tuning variables to use bytes, not KB
Fixup for https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3017

This reverts 1cd82cf068 and also multiplies results by `1024`
so as to pass bytes to Synapse, not KB (as done before).

1cd82cf068 was correctly documenting what we were doing (passing KB values),
but that's incorrect.

Synapse's Config Conventions
(https://matrix-org.github.io/synapse/latest/usage/configuration/config_documentation.html#config-conventions)
are supposed to clear it up, but they don't currently state what happens when you pass a plain number (without a unit suffix).

Thankfully, the source code tells us:
bc1db16086/synapse/config/_base.py (L181-L206)

> If an integer is provided it is treated as bytes and is unchanged.
>
> String byte sizes can have a suffix of ...
> No suffix is understood as a plain byte count.

We were previously passing strings, but that has been improved in 3d73ec887a.

Regardless, non-suffixed values seem to be treated as bytes by Synapse,
so this patch changes the variables to use bytes.

Moreover, we're moving from `matrix_synapse_memtotal_kb` to
`matrix_synapse_cache_size_calculations_memtotal_bytes` as working with
the base unit everywhere is preferrable.

Here, we also introduce 2 new variables to allow for the caps to be
tweaked:

- `matrix_synapse_cache_size_calculations_max_cache_memory_usage_cap_bytes`
- `matrix_synapse_cache_size_calculations_target_cache_memory_usage_cap_bytes`
2024-02-14 13:39:40 +02:00
Slavi Pantaleev
8b0e25966e Ensure cache_autotuning.max_cache_memory_usage & cache_autotuning.target_cache_memory_usage have int values
Fixes Synapse failing to start with:

> ValueError: invalid literal for int() with base 10: '2027264.0

Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3017
2024-02-14 12:20:53 +02:00
Catalan Lover
9eab0292d4
Increase Synapse caches and enable cache-autotuning by default (#3017)
* Modify Synapse Cache Factor to use Auto Tune

Synapse has the ability to as it calls in its config auto tune caches.

This ability lets us set very high cache factors and then instead limit our resource use.

Defaults for this commit are 1/10th of what Element apparently runs for EMS stuff and matrix.org on Cache Factor and upstream documentation defaults for auto tune.

* Add vars to Synapse main.yml to control cache related config

This commit adds various cache related vars to main.yml for Synapse.

Some are auto tune and some are just adding explicit ways to control upstream vars.

* Updated Auto Tune figures

Autotuned figures have been bumped in consultation with other community members as to a reasonable level. Please note these defaults are more on the one of each workers side than they are on the monolith Side.

* Fix YML Error

The playbook is not happy with the previous state of this patch so this commit hopefully fixes it

* Add to_json to various Synapse tuning related configs

* Fix incorrect indication in homeserver.yaml.j2

* Minor cleanups

* Synapse Cache Autotuning Documentation

* Upgrade Synapse Cache Autotune to auto configure memory use

* Update Synapse Tuning docs to reflect automatic memory use configuration

* Fix Linting errors in synapses main.yml

* Rename variables for consistency (matrix_synapse_caches_autotuning_* -> matrix_synapse_cache_autotuning_*)

* Remove FIX ME comment about Synapse's `cache_autotuning`

`docs/maintenance-synapse.md` and `roles/custom/matrix-synapse/defaults/main.yml`
already contains documentation about these variables and the default values we set.

* Improve "Tuning caches and cache autotuning" documentation for Synapse

* Announce larger Synapse caches and cache auto-tuning

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-02-14 12:02:06 +02:00
Slavi Pantaleev
a381fa4b21 Upgrade Synapse (v1.100.0 -> v1.101.0) 2024-02-13 14:56:42 +02:00
Slavi Pantaleev
e9a2b91da6 Enable federation API labels if the federation port is enabled
`matrix_synapse_federation_port_enabled` is defined like this:

```
matrix_synapse_federation_port_enabled: "{{ matrix_synapse_federation_enabled or matrix_synapse_federation_port_openid_resource_required }}"
```

Previously, people that disabled federation, but needed the `openid`
listener were running without these federation-related labels.

In this patch, we're also dropping the `not matrix_synapse_workers_enabled` condition,
because.. none of the Matrix-related labels would be applied anyway when
workers are enabled, thanks to `matrix_synapse_container_labels_matrix_related_labels_enabled`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3127
2024-02-08 12:42:59 +02:00
Slavi Pantaleev
929aee3022 Fix incorrect prefix for Synapse worker metrics
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3154
2024-02-03 18:52:26 +02:00
renovate[bot]
b167f48396
Update ghcr.io/element-hq/synapse Docker tag to v1.100.0 2024-01-30 18:32:14 +00:00
Slavi Pantaleev
a1179289a1 Split some homeserver _additional_networks variables into _auto and _custom 2024-01-26 12:55:01 +02:00
Slavi Pantaleev
ad9ba1e2bd
Fix variable name typo 2024-01-25 07:39:25 +02:00
Michael Hollister
bd027159b1 Added extra systemd service arguments to synapse workers and proxy companion 2024-01-24 13:14:34 -06:00
Slavi Pantaleev
9fb2d53b54 Rework Synapse workers documentation
Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100
2024-01-20 12:41:21 +02:00
Slavi Pantaleev
84446e52e9 Rename Synapse worker preset name (room-workers -> specialized-workers)
I believe `specialized-workers` is a better name than `room-workers`,
because when enabled, 4 different types of specialized workers are
created:

- Room workers
- Sync workers
- Client readers
- Federation readers

Only one of these is called room-workers.

In the future, more specialized workers may be added, making the
`room-workers` preset name an even poorer choice.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100
2024-01-20 12:40:55 +02:00
Charles Wright
025a7e5c66
Merge branch 'spantaleev:master' into cvwright/room-workers-v2 2024-01-17 08:02:47 -06:00
Slavi Pantaleev
042c74f90c Remove some useless oidc variables and /_synapse/oidc route handling
After some checking, it seems like there's `/_synapse/client/oidc`,
but no such thing as `/_synapse/oidc`.

I'm not sure why we've been reverse-proxying these paths for so long
(even in as far back as the `matrix-nginx-proxy` days), but it's time we
put a stop to it.

The OIDC docs have been simplified. There's no need to ask people to
expose the useless `/_synapse/oidc` endpoint. OIDC requires
`/_synapse/client/oidc` and `/_synapse/client` is exposed by default
already.
2024-01-17 14:45:19 +02:00
Slavi Pantaleev
cd06e04497 Make post-start delay for matrix-synapse configurable 2024-01-17 12:25:22 +02:00
Slavi Pantaleev
ee0a8c4a81 Upgrade Synapse (v1.98.0 -> v1.99.0) 2024-01-17 08:40:48 +02:00
Slavi Pantaleev
aa0a85b094 Properly switch to element-hq-synapse and introduce variables for customizing that 2024-01-17 08:40:23 +02:00
Slavi Pantaleev
c0afcaa2e3 Replace (almost) all matrix-org/synapse references with element-hq/synapse
Issues and Pull Requests were not migrated to the new
organization/repository, so `matrix-org/synapse/pull` and
`matrix-org/synapse/issues` references were kept as-is.

`matrix-org/synapse-s3-storage-provider` references were also kept,
as that module still continues living under the `matrix-org` organization.

This patch mainly aims to change documentation-related things, not actual
usage in full yet. For polish that, another more comprehensive patch is coming later.
2024-01-17 08:02:47 +02:00
Catalan Lover
cb7f2eff3d make synapse support alternative containers via new variable 2024-01-17 07:28:08 +02:00
Charles Wright
db70230ae1 Add room-workers as a new preset, with new room workers, sync workers, client readers, and federation readers. Based on https://tcpipuk.github.io/synapse/index.html 2024-01-16 09:17:24 -06:00
Slavi Pantaleev
b91ad453be Adjust TLS variables for homeservers to follow devture_traefik_config_entrypoint_web_secure_enabled (via matrix_federation_traefik_entrypoint_tls) 2024-01-15 09:39:36 +02:00
Slavi Pantaleev
aff57d67c0 Adjust Synapse OIDC variable wiring and docs
Auto-enabling the OIDC APIs is convenient for people
using the new `matrix_synapse_oidc_*` variables.
2024-01-14 12:34:25 +02:00
Slavi Pantaleev
ee0eb59dc6 Add support for the internal Traefik entrypoint to Dendrite 2024-01-14 10:48:54 +02:00
Slavi Pantaleev
b2aeb8cde9 Rename label-related variables for homeservers
We'd be adding integration with an internal Traefik entrypoint
(`matrix_playbook_internal_matrix_client_api_traefik_entrypoint`),
so renaming helps disambiguate things.

There's no need for deperecation tasks, because the old names
have only been part of this `bye-bye-nginx-proxy` branch and not used by
anyone publicly.
2024-01-14 10:48:54 +02:00
Slavi Pantaleev
39bddefd39 Make addons communicate with the homeserver via a new internal Traefik entrypoint
This also adds labels for Synapse. Support for other homeservers and
components will be added later.
2024-01-14 10:48:54 +02:00
Slavi Pantaleev
41a52945d6 Add support for exposing metrics for Synapse workers 2024-01-12 12:16:06 +02:00
Slavi Pantaleev
22f5f0ba75 Add support for exposing metrics for Synapse (without workers) 2024-01-12 12:15:57 +02:00
Slavi Pantaleev
e5130372b9 Switch matrix_synapse_container_additional_volumes from using -v to --mount
Depending on the `options` that people provide, this may break
compatibility.
2024-01-11 12:12:44 +02:00
Slavi Pantaleev
3e0e92bdf7 Do not use matrix_synapse_reverse_proxy_companion_ variables in the matrix-synapse role 2024-01-11 08:49:57 +02:00
Slavi Pantaleev
9488e3857a Put all homeservers in the matrix-homeserver container network 2024-01-05 16:49:48 +02:00
Slavi Pantaleev
015acb6d08 Add native Traefik support to matrix-synapse 2024-01-04 19:00:23 +02:00
Slavi Pantaleev
abde681b56 Clean up some matrix_nginx_proxy_proxy_matrix_metrics_* references 2024-01-04 12:49:00 +02:00
Michael Hollister
a66a2d2692 Added Synapse connection pool config variables 2023-12-16 19:16:05 -06:00
slikie
dee3de0bcb
bump synapse version 2023-12-13 02:25:06 +08:00
Slavi Pantaleev
910166effd Upgrade Synapse (v1.96.1 -> v1.97.0) 2023-11-28 19:15:07 +02:00
Aine
743d580daa
Update synapse-s3-storage-provider
looks like newer version is required for synapse 1.96.1
2023-11-17 19:35:28 +02:00
Slavi Pantaleev
3dc77c4f9a
Upgrade Synapse (v1.96.0 -> v1.96.1) 2023-11-17 16:11:55 +02:00
renovate[bot]
35c20d7531
Update matrixdotorg/synapse Docker tag to v1.96.0 2023-11-16 20:12:41 +00:00
Aine
090737773f
Update synapse 1.95.0 -> 1.95.1 2023-10-31 17:25:34 +02:00
Slavi Pantaleev
9032170e8c Upgrade Synapse (v1.94.0 -> v1.95.0) 2023-10-24 19:09:34 +03:00
Slavi Pantaleev
01c31dd849 Enable allow_public_rooms_over_federation by default for Synapse 2023-10-23 12:11:04 +03:00
Slavi Pantaleev
ec3b204541
Merge branch 'master' into renovate-config 2023-10-16 18:15:53 +03:00
slikie
37195d49dc
Update main.yml 2023-10-10 19:26:37 +08:00
Samuel Meenzen
c846ed199b
Annotate version numbers with renovate metadata 2023-10-06 14:14:03 +02:00
Aine
9167a7734e
add matrix_synapse_oidc_enabled and matrix_synapse_oidc_providers vars 2023-10-02 18:40:15 +03:00
Slavi Pantaleev
217ddad2de Add support for configuring forgotten_room_retention_period
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2918

Related to https://github.com/matrix-org/synapse/pull/15488
2023-09-28 12:54:52 +03:00
Slavi Pantaleev
e53b4424f1 Upgrade Synapse (v1.92.3 -> v1.93.0) 2023-09-26 20:16:29 +03:00
Slavi Pantaleev
7586cecedf Upgrade Synapse (v1.92.2 -> v1.92.3) 2023-09-18 18:00:15 +03:00
Aine
f0e2e97aa4
Update synapse 1.92.1 -> 1.92.2 (security fix) 2023-09-15 16:10:33 +03:00
Slavi Pantaleev
963e97214b Upgrade Synapse (v1.91.2 -> v1.92.1) 2023-09-12 18:32:32 +03:00
Aine
6f9dee867c
Update synapse 1.91.1 -> 1.91.2 2023-09-06 20:41:29 +03:00
saces
2000e61d31 force pull booth on :stable and :latest 2023-09-05 23:26:30 +02:00
saces
2c25648051 change image tag to version
Signed-off-by: saces <saces@c-base.org>
2023-09-05 22:35:01 +02:00
saces
c260309625 update defaults for new tools container
Signed-off-by: saces <saces@c-base.org>
2023-09-05 20:29:28 +02:00
Aine
ea7a55b7dd
Update synapse 1.91.0 -> 1.91.1 2023-09-04 18:07:17 +03:00
Aine
12f316405b
make synapse even more quiet 2023-08-31 19:32:57 +03:00
slikie
4acaeac7aa
Update synapse 1.90.0 -> 1.91.0 2023-08-30 22:31:15 +08:00
Slavi Pantaleev
b0fb3814a5 Make Synapse quieter by default
Hopefully fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2849

Related to:
- https://github.com/matrix-org/synapse/issues/16101
- https://github.com/matrix-org/synapse/issues/16208
2023-08-30 12:53:20 +03:00
Slavi Pantaleev
abdb4375db Add matrix_synapse_additional_loggers_auto and matrix_synapse_additional_loggers_custom 2023-08-30 12:53:20 +03:00
Slavi Pantaleev
d207edb304 Deprecate matrix_synapse_spam_checker in favor of matrix_synapse_modules 2023-08-26 20:09:37 +03:00
Slavi Pantaleev
e03ec11fcf Switch mjolnir-antispam from using spam_checker to modules
`spam_checker` has been deprecated for quite a while.
While it still probably works and while newer versions of
mjolnir-antispam still use it, we should switch to the new API.
2023-08-26 20:07:40 +03:00
Slavi Pantaleev
4e08ad98b6 Upgrade mjolnir-antispam (1.4.0 -> v1.6.4) 2023-08-26 20:05:03 +03:00
slikie
68562173e7
bump synapse to v1.90.0 2023-08-15 22:37:35 +08:00
adam-kress
df406dbfd8
Update synapse 1.88.0 -> 1.89.0 2023-08-01 08:12:35 -04:00
Slavi Pantaleev
64396419ba Upgrade synapse-s3-storage-provider (1.2.0 -> 1.2.1) 2023-07-18 20:40:44 +03:00
Slavi Pantaleev
2fad66a371 Upgrade Synapse (v1.87.0 -> v1.88.0) 2023-07-18 20:04:51 +03:00
Slavi Pantaleev
6d50a008bf
Merge pull request #2783 from Michael-Hollister/feature/add-matrix-media-repo
Added matrix-media-repo role
2023-07-17 08:13:16 +03:00
Michael Hollister
facaeb5abe
Document purpose of media_repo variable
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-07-13 11:03:36 -05:00
Michael Hollister
78bd1dbd1b Added matrix-media-repo role 2023-07-12 01:09:27 -05:00
Slavi Pantaleev
13fb286dbe Upgrade Synapse (v1.86.0 -> v1.87.0) 2023-07-04 22:13:05 +03:00
Aine
2da4d81ff6
Update synapse 1.85.2 -> 1.86.0 2023-06-20 21:14:23 +03:00
Zac
f026c7cee1
Apply suggestions from code review
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-06-13 14:48:44 -05:00
cbackas
0e701bbece add var to make the creds optional 2023-06-13 11:08:14 -05:00
Aine
55fcbca681
Update synapse 1.85.1 -> 1.85.2 2023-06-08 18:59:31 +03:00
Slavi Pantaleev
ba868ba6c6 Upgrade Synapse (v1.85.0 -> v1.85.1) 2023-06-07 16:50:54 +03:00
Slavi Pantaleev
672b45648f Upgrade matrix-synapse-shared-secret-auth (2.0.2 -> 2.0.3) 2023-06-07 14:20:52 +03:00
Slavi Pantaleev
f320110e90 Enable com.devture.shared_secret_auth login type for matrix-synapse-shared-secret-auth by default
Now that Element v1.11.32 is out and https://github.com/vector-im/element-web/issues/19605 is fixed
(by https://github.com/matrix-org/matrix-react-sdk/pull/10975), we don't
need to force-disable this login type.
2023-06-07 14:12:38 +03:00
Slavi Pantaleev
69cece9fa3 Upgrade Synapse (v1.84.1 -> v1.85.0) 2023-06-06 13:51:25 +03:00
Luke D Iremadze
130c278a3c
Update roles/custom/matrix-synapse/defaults/main.yml
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-06-02 23:38:57 -06:00
Luke D Iremadze
1f0da9f744 Create hooks for user search ability 2023-06-02 12:50:46 -06:00
Aine
c36fd8cfc2
Update synapse 1.84.0 -> 1.84.1 2023-05-26 19:29:26 +00:00
Slavi Pantaleev
c55371e305 Add changelog entry for the forget_rooms_on_leave default change for Synapse
Related to:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2698
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2700
2023-05-25 09:14:09 +03:00
Aine
9350eeb9fb
update synapse 1.83.0 -> 1.84.0; set forget_rooms_on_leave = true 2023-05-23 17:33:23 +03:00
Slavi Pantaleev
8fbe99ac2a Do not add main/master Synapse process to instance_map if workers are not in use
This is meant to keep the configuration tidy for non-worker setups.

Related to 49cb8b7b11
2023-05-15 07:37:25 +03:00
Slavi Pantaleev
49cb8b7b11 Add Synapse main/master process to instance map
Related to https://github.com/matrix-org/synapse/pull/15491

This doesn't hurt to be done early on, while still on Synapse v1.83.0.

We'll be able to remove the `worker_replication_*` settings later,
when Synapse v1.84.0 gets released and starts making use of the new
`main` instance in the instance map instead of looking at the
`worker_replication_*` settings.
2023-05-15 07:33:26 +03:00
Slavi Pantaleev
c1462c6277 Upgrade Synapse (v1.82.0 -> v1.83.0) 2023-05-09 21:00:09 +03:00
Aine
1762fc18f3
Update synapse 1.81.0 -> 1.82.0 2023-04-25 12:04:23 +00:00
Slavi Pantaleev
024d9ed3f3 Upgrade Synapse (v1.80.0 -> v1.81.0) 2023-04-11 17:18:58 +03:00
Aeris One
44aa0dce7b
Add ability to disable password auth (#2612)
* Add ability to disable password auth

* Allow disabling password authentication
2023-03-29 21:11:22 +03:00
Slavi Pantaleev
1fff42d930 Switch Synapse to being pulled from ghcr.io, not docker.io
Related to:

- https://github.com/matrix-org/synapse/pull/15281
- https://github.com/matrix-org/synapse/pull/15282
2023-03-28 16:26:20 +03:00
Slavi Pantaleev
e55269e14f Upgrade Synapse (v1.79.0 -> v1.80.0) 2023-03-28 16:23:06 +03:00
Slavi Pantaleev
1abd76101a Add matrix_synapse_docker_image_registry_prefix 2023-03-28 16:10:55 +03:00
Catalan Lover
5cd3a6188e
Upgrade Synapse from 1.78.0 to 1.79.0 2023-03-14 17:39:41 +01:00
Slavi Pantaleev
8db2c0498a Upgrade Synapse (v1.77.0 -> v1.78.0) 2023-03-01 11:07:25 +02:00
Slavi Pantaleev
643acfcb5b Make synapse-s3-storage-provider periodic migration schedule customizable
Larger deployments may wish to run migration more often.
2023-02-22 16:08:53 +02:00