Commit Graph

1938 Commits

Author SHA1 Message Date
4ae2e95772 Add validation task for potential conflict between mautrix-instagram and mautrix-meta-instagram
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3138 and 367af472ea
2024-02-19 10:34:09 +02:00
367af472ea Add support for bridging to Facebook Messenger and Instagram via mautrix-meta
Related to: https://github.com/mautrix/facebook/issues/332

Fixes: https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3138
2024-02-19 10:25:00 +02:00
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
2fa82b8bca Disable media_patterns for mautrix-discord
Media didn't work before this patch, likely because this feature is broken:

> N.B. Discord now requires signed expiring download links, which means this solution no longer works. In the future, a more dynamic solution may be implemented where requests go to the bridge and the bridge and the bridge refetches the message if necessary.

Source: https://docs.mau.fi/bridges/go/discord/direct-media.html

Moreover, most users more likely don't want this behavior and would
prefer to keep a complete mirror of the media on Matrix, instead of
going through two 3rd party servers to fetch the media on demand.

The default config for the bridge
(https://github.com/mautrix/discord/blob/main/example-config.yaml)
actually does not enable it.

It seems like 4ed522e8fe
(https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3133)
lied to us as to what upstream does. Poor PR review lead to this
anti-feature making it into the playbook.
2024-02-18 07:53:39 +02:00
63b945dc1a Fix incorrect image tag reference for mautrix-signal
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3192
2024-02-17 08:22:33 +02:00
d3c8fd8ad5 Pin mautrix-signal to v0.5.0
Ref: https://github.com/mautrix/signal/releases/tag/v0.5.0
2024-02-16 18:51:06 +02:00
e19db8a563 Update nginx Docker tag to v1.25.4 2024-02-14 22:41:48 +00:00
c203bef912 Downgrade synapse-admin (0.9.1 -> 0.8.7)
0.9.x is broken: https://github.com/Awesome-Technologies/synapse-admin/issues/468

A fix for this major regression got merged 2 hours after 0.9.1 was tagged,
but one week later there's still no 0.9.2. Shame.
2024-02-14 18:40:57 +02:00
972fc6b914 Fix ansible-lint-reported error related to spaces before comments 2024-02-14 13:46:55 +02:00
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
3d73ec887a Ensure integer values are used for cache_autotuning settings in homeserver.yaml
We're casting everything it `int`, but since Jinja templates are
involved, these values end up as strings anyway.

Doing `| int | to_json` is good, but we should only cast numbers to
integer, not empty strings, as that (0) may be interpreted differently
by Synapse.

To turn of auto-tuning, one is possibly supposed to pass empty strings:

> This option defaults to off, enable it by providing values for the sub-options listed below.

It could be that `0` is also considered "no value provided", but I
haven't verified that.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3017
2024-02-14 13:36:20 +02:00
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
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
d9940bd807 Upgrade Element (v1.11.57 -> v1.11.58) 2024-02-13 19:06:14 +02:00
a381fa4b21 Upgrade Synapse (v1.100.0 -> v1.101.0) 2024-02-13 14:56:42 +02:00
4242f4f7cd Update joseluisq/static-web-server Docker tag to v2.27.0 2024-02-13 03:02:42 +00:00
cf9ca9e602 Update registry.gitlab.com/etke.cc/postmoogle Docker tag to v0.9.17 2024-02-11 19:45:35 +00:00
ce9a8d3a2c Rename base domain root path redirect middleware to improve consistency 2024-02-11 09:07:32 +02:00
cf9388c546 Make base domain root path redirect regex configurable 2024-02-11 09:04:30 +02:00
e2ab339634 Update joseluisq/static-web-server Docker tag to v2.26.0 2024-02-11 00:58:31 +00:00
dad0d24312 Merge pull request #3171 from spantaleev/renovate/gnuxie-draupnir-1.x
Update gnuxie/draupnir Docker tag to v1.86.2
2024-02-10 05:45:40 +02:00
2d4b96e0c5 Update turt2live/matrix-media-repo Docker tag to v1.3.4 2024-02-10 01:50:50 +00:00
89288cce0e Update gnuxie/draupnir Docker tag to v1.86.2 2024-02-09 21:13:33 +00:00
1bfafa7004 Use to_json for matrix_mautrix_whatsapp_extev_polls 2024-02-09 16:42:48 +02:00
68d4e04f4f allow to configure whatsapp polls via extev_polls parameter. 2024-02-09 14:17:16 +01:00
2096d13bbd fix buscarron old vars 2024-02-08 21:17:12 +02:00
41ca1a1d96 Upgrade synapse-admin (0.9.0 -> 0.9.1) 2024-02-08 16:39:29 +02:00
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
f3c69562fa Use devture_postgres_container_network for all rust-synapse-compress-state tasks
Using `matrix_synapse_container_network` for this task may have worked
before, when everything was in the same `matrix` network, but not anymore.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3165
2024-02-08 11:46:59 +02:00
193d20013f Update Signal config.yaml.j2
Not sure why but the endraw is not working.
2024-02-08 09:16:29 +00:00
8a9a700cfc Bring config.yaml.j2 in line with upstream (#3163)
* Bring config.yaml.j2 in line with upstream

* Update config.yaml.j2
2024-02-08 08:15:17 +02:00
518615a979 Update signal config.yaml.j2 merging upstream changes (#3164)
* Update signal config.yaml.j2 merging upstream changes

* Add raw/endraw around displayname_template for mautrix-signal

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-02-08 08:13:07 +02:00
6892d32bfc Merge pull request #3158 from etkecc/patch-324
update honoroit (v0.9.19 -> v0.9.20)
2024-02-06 08:06:14 +02:00
928b21acf4 Add variable-deprecation task for Buscarron
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3157
2024-02-06 07:23:56 +02:00
a07345a42e update honoroit (v0.9.19 -> v0.9.20)
**Warning**: [CI pipeline is in progress](https://gitlab.com/etke.cc/honoroit/-/pipelines/1165360868)

changelog:

* safer reaction forwarding
* fix duplicated prefix and suffix on completed requests
* add missing `!ho help` entries
* add new `!ho count` command
* count requests by homeserver and by MXID
* add new `!ho config` command set - configure honoroit directly from the chat
* mautrix-go 0.15.x+ migration
* shared secret auth support
* account data encyption support

removed env vars (automatic migration):

* HONOROIT_TEXT_*
* HONOROIT_ALLOWEDUSERS
* HONOROIT_IGNOREDROOMS
* HONOROIT_IGNORENOTHREAD
* HONOROIT_NOENCRYPTION
2024-02-05 22:12:24 +02:00
2baea7ce7b buscarron v1.4.0 2024-02-05 22:07:45 +02:00
7f337fc9a6 Upgrade synapse-admin (0.8.7 -> 0.9.0) 2024-02-05 19:07:51 +02:00
8b027efb65 Upgrade mautrix-signal (de8c8d97c23 -> 103666990f3) 2024-02-05 18:39:36 +02:00
e01aa667e7 Fix some comments in worker-labels for Synapse
Related to 929aee3022 and
https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3154
2024-02-03 18:53:17 +02:00
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
2c06aa1d04 Update gnuxie/draupnir Docker tag to v1.86.1 2024-02-01 20:11:51 +00:00
502db35831 Update vectorim/element-web Docker tag to v1.11.57 2024-01-31 20:11:11 +00:00
5e050dbb4d Merge pull request #3141 from spantaleev/renovate/ghcr.io-element-hq-synapse-1.x
Update ghcr.io/element-hq/synapse Docker tag to v1.100.0
2024-01-31 15:23:11 +02:00
578d00a54a Default to root-path-redirection on the base domain if index.html creation is disabled
This is a break in backward-compatibility for people disabling
`index.html` creation via the playbook but are managing their static
website files in another way (AUX role, etc).
2024-01-31 12:13:20 +02:00
b167f48396 Update ghcr.io/element-hq/synapse Docker tag to v1.100.0 2024-01-30 18:32:14 +00:00
5ca527066d Fix s3-storage migrate and shell (#3136)
* Fix s3-storage migrate and shell: container needs attachment to postgres network also

* Connect to s3-storage-provider migrate to multiple networks in multiple steps

Multiple `--network` calls lead to:

> docker: Error response from daemon: Container cannot be connected to network endpoints: NETWORK_1 NETWORK_2.

* Connect to s3-storage-provider shell to multiple networks in multiple steps

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-01-27 18:03:37 +02:00
4a2ad1583e Update matrixdotorg/dendrite-monolith Docker tag to v0.13.6 2024-01-26 14:05:29 +00:00
1468c08065 Wire matrix_server_fqn_matrix_federation to matrix_SERVICE_*_public_federation_api_traefik_hostname for ease of use 2024-01-26 16:04:55 +02:00
a1179289a1 Split some homeserver _additional_networks variables into _auto and _custom 2024-01-26 12:55:01 +02:00
dafeee92f4 Adjust matrix_nginx_proxy_container_labels_traefik_proxy_matrix_federation_hostname validation check message to mention matrix_static_files_file_matrix_server_property_m_server 2024-01-26 12:17:49 +02:00