Commit Graph

315 Commits

Author SHA1 Message Date
9d5902f096 Add support for D4A/Draupnir For All to the playbook. (#3204)
* Draupnir for all Role

* Draupnir for all Documentation

* Pin D4A to Develop until D4A patches are in a release.

* Update D4A Docs to mention pros and cons of D4A mode compared to normal

* Change Documentation to mention a fixed simpler provisioning flow.

Use of /plain allows us to bypass the bugs encountered during the development of this role with clients attempting to escape our wildcards causing the grief that led to using curl.

This reworded commit does still explain you can automatically inject stuff into the room if you wanted to.

* Emphasise the State of D4A mode

* Link to Draupnir-for-all docs and tweak the docs some

* Link to Draupnir-for-all from Draupnir documentation page

* Announce Draupnir-for-all

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2024-03-05 16:09:52 +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
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
1cd82cf068 Fix unit inaccuracy in documentation for cache-autotuning-related variables
Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3017
2024-02-14 12:25:34 +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
a27464a546 Update CHANGELOG.md (#3181)
* Update CHANGELOG.md

* Update CHANGELOG.md
2024-02-12 17:35:48 +02:00
1160e32126 Fix incorrect variable name for base-domain root-path redirection
Fixes a typo in 76a265f9a1

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3153
2024-02-03 18:48:24 +02:00
76a265f9a1 Document new base-domain root-path redirection behavior 2024-02-03 08:06:00 +02:00
9a7cb0f716 Fix broken link in changelog entry 2024-01-20 12:45:10 +02:00
24394d3ec4 Announce support for specialized Synapse workers
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3100
2024-01-20 12:43:30 +02:00
f9e19e9623 Always uninstall matrix-nginx-proxy, if discovered
This changes the behavior of
`matrix_playbook_migration_matrix_nginx_proxy_uninstallation_enabled`
and is against what we initially described in the changelog entry,
but I've discovered some problems when the `matrix-nginx-proxy` service
and container remain running. They need to go.
2024-01-17 17:22:08 +02:00
aa0a85b094 Properly switch to element-hq-synapse and introduce variables for customizing that 2024-01-17 08:40:23 +02:00
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
8e5c6fbfc9 Draupnir Relicense Changelog Entry 2024-01-16 01:57:14 +01:00
8dadcee4bc Goodbye, matrix-nginx-proxy 🪦 2024-01-15 16:52:02 +02:00
ad32953e0b Add additional-networks support to matrix-coturn
Not that it seems necessary right now, but it makes it consistent with
all other roles.
2024-01-15 11:18:09 +02:00
95e5a5c62e Deprecate direct usage of devture_traefik_additional_entrypoints_auto 2024-01-14 09:23:36 +02:00
4698e64bb8 Improve matrix-reminder-bot maintenance announcement wording 2024-01-13 10:33:56 +02:00
22dce1d4cc Upgrade matrix-reminder-bot and lock it down via the new allowlist setting 2024-01-13 10:22:06 +02:00
ba0a4e864a Replace matrix-mailer with an external role 2024-01-05 17:54:50 +02:00
c744d29567 Announce new mautrix-signal bridge
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/3041
2024-01-02 16:06:47 +02:00
0393bd6356 Update Matrix Room Search indexing statistics again
Fixup for f49e3f1e02.

It appears that many servers are incredibly slow, so the value was
misreported and more are online than previously estimated.
2023-10-23 13:58:40 +03:00
03f5344c37 Improve changelog entry wording to mention the room directory
Hopefully, this makes it clearer that it's not just "public rooms"
that will now be exposed,
but rather "public rooms which are also published to the room directory".
2023-10-23 12:34:55 +03:00
f49e3f1e02 Update Matrix Room Search indexing statistics
This brings the values up-to-date as of the latest indexing run done
today. Due to a bug, the previous values were somewhat off.
The new numbers are different and actually demonstrate that the situation is
much worse than initially imagined.
2023-10-23 12:18:08 +03:00
01c31dd849 Enable allow_public_rooms_over_federation by default for Synapse 2023-10-23 12:11:04 +03:00
29b62f77a5 Upgrade Postgres (v16.0-5 -> v16.0-6) - adds auto-tuning 2023-10-18 08:24:52 +03:00
2f6829e6d7 Replace links to Gnuxie/Draupnir with the-draupnir-project/Draupnir
Draupnir moved its repo on github from the namespace of its maintainer Gnuxie to a newly created Github Organisation the-draupnir-project and this commit reflects this.
2023-09-07 19:33:25 +02:00
99822c77fa Announce SchildiChat
Related to: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2851
2023-08-31 13:42:40 +03:00
9f90510d53 Announce mautrix-wsproxy support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2261
2023-08-23 15:13:38 +03:00
14f7eed932 Update matrix-registration-bot, improve authentication config (#2723)
* Adjust to new mrb docker versioning

* Stabilze authentication

* fix lint

* Move & document mrb password usage

* Add clean cache role

* Document clean cache

* Fix lint

* Update CHANGELOG.md

* Automate access tokens

* Improve changelog

* Make use of mrb's function to fetch API tokens

* Adjust changelog

* Use ansible.builtin.file to clear directory

* Fix typo

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-07-24 13:57:06 +03:00
0a81083e7d Announce mautrix-gmessages support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2794
2023-07-21 14:37:05 +03:00
68556400ba Announce matrix-media-repo
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2783
2023-07-17 22:38:44 +03:00
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
e9d48ee9ca Fix typos
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2621
2023-04-03 12:02:06 +03:00
5a44e06e00 Remedy Typo 2023-04-03 18:34:54 +10:00
1d00d15482 Switch to exported Jitsi role 2023-04-03 08:53:46 +03:00
e29af490c0 CHANGELOG: Add disabled ntfy web app
See #2529
2023-03-22 09:21:29 +00:00
14b8efcad2 Replace matrix-prometheus with an external Prometheus role 2023-03-21 07:38:12 +02:00
d3a0ef22b6 Announce matrix-synapse-auto-compressor 2023-03-12 10:55:08 +02:00
bf95204860 Mention Element X Android not being quite ready for testing yet 2023-03-07 14:44:30 +02:00
6c1a39e6e9 Announce sliding-sync support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515
2023-03-07 12:22:04 +02:00
30f1034767 Remove matrix_playbook_traefik_role_enabled variable and devture-traefik references
The variable was necessary when multiple playbooks could have
potentially tried to manage a shared `devture-traefik.serivce` systemd service
and shared `/devture-traefik` directory.

Since adcc6d9723, we use our own `/matrix/traefik`
(`matrix-traefik.service`) installation and no conflicts can arise.
It's safe to always enable the role, just like we do with all the other roles.
2023-03-06 09:51:14 +02:00
124fbeda04 Switch to using an external Etherpad role
This new role also adds native Traefik support and support for other
(non-`amd64`) architectures via self-building.
2023-03-02 22:50:13 +02:00
Jan
05b3f6565b Update CHANGELOG.md
Fix typo in changelog
2023-02-26 17:21:59 +01:00
71ae825f6a Switch default reverse-proxy to Traefik, force reverse-proxy choice on existing users 2023-02-26 16:14:05 +02:00
a45c70fd66 Announce Rageshake support 2023-02-25 14:04:20 +02:00
0da308e24d Upgrade com.devture.ansible.role.traefik 2023-02-19 10:20:13 +02:00
5df89a44b3 Add support for customizing Synapse templates 2023-02-17 19:37:34 +02:00
990a6369e1 Switch to using an external Redis role 2023-02-17 16:23:59 +02:00
964aa0e84d Switch to using an external Ntfy role
The newly extracted role also has native Traefik support,
so we no longer need to rely on `matrix-nginx-proxy` for
reverse-proxying to Ntfy.

The new role uses port `80` inside the container (not `8080`, like
before), because that's the default assumption of the officially
published container image. Using a custom port (like `8080`), means the
default healthcheck command (which hardcodes port `80`) doesn't work.
Instead of fiddling to override the healthcheck command, we've decided
to stick to the default port instead. This only affects the
inside-the-container port, not any external ports.

The new role also supports adding the network ranges of the container's
multiple additional networks as "exempt hosts". Previously, only one
network's address range was added to "exempt hosts".
2023-02-17 09:54:33 +02:00