Commit graph

3896 commits

Author SHA1 Message Date
Aine 09188314dd
Update hookshot 3.0.1 -> 3.1.0 2023-03-28 11:11:12 +00:00
Aine 6d5cf9cbcd
fix honoroit networks 2023-03-23 20:17:11 +02:00
Aine 0b18f03195
honoroit - add proper networking configuration and traefik labels 2023-03-23 19:06:16 +02:00
Slavi Pantaleev 7be8943b64 Pin matrix-rageshake to 1.9.0
Related to:

- https://github.com/matrix-org/rageshake/issues/69
- https://github.com/matrix-org/rageshake/pull/70
2023-03-22 17:53:57 +02:00
Slavi Pantaleev 69b2df629b Enable some recommended Coturn options in an effort to lower DDoS amplification factor
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2592
2023-03-22 08:04:47 +02:00
Aine 38fc864745
Update hookshot 3.0.0 -> 3.0.1 2023-03-21 18:00:38 +00:00
Slavi Pantaleev 14b8efcad2 Replace matrix-prometheus with an external Prometheus role 2023-03-21 07:38:12 +02:00
Slavi Pantaleev 21c2bbb11f Add matrix_prometheus_nginxlog_exporter_container_network 2023-03-20 17:04:23 +02:00
Slavi Pantaleev ade312e6f6 Add matrix_hookshot_container_network 2023-03-20 17:03:19 +02:00
Slavi Pantaleev d974c0c166 Make yamllint happy 2023-03-20 11:09:59 +02:00
Slavi Pantaleev 220d80ac3a Move matrix-aux outside of this playbook 2023-03-20 11:06:27 +02:00
Slavi Pantaleev e726c97edc
Merge pull request #2584 from Kab1r/fix/sliding-sync-sync-url
fix(sliding-sync): Use external syncv3 server URL
2023-03-19 08:15:09 +02:00
Kabir Kwatra 8202acf742
fix(sliding-sync): use external syncv3 server url 2023-03-18 10:17:29 +00:00
array-in-a-matrix f1c0321a8c add relay api database for dendrite 2023-03-18 03:22:30 -04:00
Slavi Pantaleev 554915bd74
Merge pull request #2579 from etkecc/patch-195
Update hookshot 2.7.0 -> 3.0.0
2023-03-17 23:52:22 +02:00
Slavi Pantaleev 01cf29ecf4
Merge pull request #2578 from etkecc/patch-194
Update mautrix-whatsapp 0.8.2 -> 0.8.3
2023-03-17 23:51:47 +02:00
Aine 7ef804f62f
Update hookshot 2.7.0 -> 3.0.0
Warning! Potentially breaking change: https://github.com/matrix-org/matrix-hookshot/releases/tag/3.0.0
2023-03-17 20:05:38 +00:00
Aine e6552a9c3b
Update mautrix-whatsapp 0.8.2 -> 0.8.3 2023-03-17 20:03:17 +00:00
Aine 281bad125d
Update mautrix-discord 0.1.1 -> 0.2.0 2023-03-17 20:01:57 +00:00
Slavi Pantaleev ee4bac1988 Upgrade matrix-corporal (2.5.1 -> 2.5.2) 2023-03-16 18:29:11 +02:00
Slavi Pantaleev 636142c4e0 matrix-bot-chatgpt role refactoring 2023-03-16 10:21:53 +02:00
Slavi Pantaleev a55c6b1b5a Remove non-functional variable matrix_bot_chatgpt_loglevel
It wasn't used at all. It doesn't seem like there's a way to control
the log level, judging by:
- 8f9eea4114/.env.example
- 8f9eea4114/src/env.ts
2023-03-16 10:21:53 +02:00
Slavi Pantaleev 9afc46de72 Update matrix_bot_chatgpt_matrix_blacklist/matrix_bot_chatgpt_matrix_whitelist comment 2023-03-16 10:21:53 +02:00
Aine eaa3be2825
Update element 1.11.24 -> 1.11.25 2023-03-15 20:07:51 +00:00
Array in a Matrix a63860ac75
fix typo 2023-03-14 14:10:16 -04:00
Slavi Pantaleev fab6c03609 Allow some new endpoints to work on workers
Related to:

- 682d31c702
- ecbe0ddbe7
- f4fc83ac75

.. and https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2569
2023-03-14 19:21:43 +02:00
Catalan Lover 5cd3a6188e
Upgrade Synapse from 1.78.0 to 1.79.0 2023-03-14 17:39:41 +01:00
Slavi Pantaleev 4c1db32ef9 Rename some Dendrite variables to improve consistency 2023-03-14 08:52:15 +02:00
Slavi Pantaleev fd2f497ac0 Fix variable names
Related to:
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2565
- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2566
2023-03-14 08:47:01 +02:00
Slavi Pantaleev 75cc50d2ab
Merge pull request #2567 from array-in-a-matrix/patch-18
Update dendrite to v0.12.0
2023-03-14 08:43:18 +02:00
Slavi Pantaleev bef13fe495
Merge branch 'master' into master 2023-03-14 08:42:55 +02:00
Array in a Matrix 4f0f6bd995
Update dendrite.yaml.j2 2023-03-13 16:21:18 -04:00
Array in a Matrix c93eb1dbf7
Update dendrite.yaml.j2 2023-03-13 16:19:49 -04:00
Array in a Matrix d0aa5a1f6a
Update main.yml 2023-03-13 16:11:16 -04:00
array-in-a-matrix 734848a27b added full text search for dendrite 2023-03-13 15:54:07 -04:00
array-in-a-matrix 40f067148d added dynamic thumbnails var 2023-03-13 15:28:58 -04:00
Slavi Pantaleev cf7f9701b7 urlencode matrix_synapse_auto_compressor_database_username/matrix_synapse_auto_compressor_database_password 2023-03-13 11:59:14 +02:00
Slavi Pantaleev bb89d7b3fb Fix self-building for matrix-synapse-auto-compressor 2023-03-12 10:39:19 +02:00
Slavi Pantaleev 328d0d8a5f Move synapse-auto-compressor Postgres argument to an environment variable
This provides an additional security benefit. The password won't leak in
the process list anymore.
2023-03-12 10:18:33 +02:00
Slavi Pantaleev 26d5719df4 Make matrix-synapse-auto-compressor live in its own container network
It will, additionally, be connected to the devture-postgres network, if
devture-postgres is enabled.
2023-03-12 10:18:33 +02:00
Slavi Pantaleev 0f2e568b30 Add validation tasks to matrix-synapse-auto-compressor 2023-03-12 10:18:33 +02:00
Slavi Pantaleev b28d779c6c Add matrix-synapse-auto-compressor section in group_vars/matrix_servers 2023-03-12 09:48:46 +02:00
Aine bf3677a9b5
add synapse_auto_compressor 2023-03-10 23:48:43 +02:00
Joe Kappus f2ebb5a91d
Bump ChatGPT version and add new config settings
OpenAI changed the model a month ago and broke the bot.
This bump fixes it and adds the default model.
2023-03-09 00:02:54 -05:00
Aine cdb1452d17
Update jitsi stable-8252 -> stable-8319 2023-03-07 20:38:36 +00:00
Slavi Pantaleev dddfee16bc Fix all 300+ ansible-lint-reported errors 2023-03-07 17:28:15 +02:00
Slavi Pantaleev 023fe3ea08 Add sliding-sync support
This allows people to try out the new Element X clients, which need to
run against the sliding-sync proxy (https://github.com/matrix-org/sliding-sync).

Supersedes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2515

The code is based on the existing PR (#2515), but heavily reworked. Major changes:

- lots of internal refactoring and variable renaming

- fixed self-building to support non-amd64 architectures

- changed to talk to the homeserver locally, over the container network (not
  publicly)

- no more matrix-nginx-proxy support due to complexity (see below)

- no more `matrix_server_fqn_sliding_sync_proxy` in favor of
  `matrix_sliding_sync_hostname` and `matrix_sliding_sync_path_prefix`

- runs on `matrix.DOMAIN/sliding-sync` by default, so it can tried
  easily without having to create new DNS records
2023-03-07 11:57:56 +02:00
Slavi Pantaleev 6e3aab6594 Make devture-traefik to matrix-traefik migration code a little safer 2023-03-06 11:00:42 +02:00
Slavi Pantaleev 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
Slavi Pantaleev adcc6d9723 Relocate Traefik (to matrix-traefik.service && /matrix/traefik base path)
The migration is automatic. Existing users should experience a bit of
downtime until the playbook runs to completion, but don't need to do
anything manually.

This change is provoked by https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2535

While my statements there ("Traefik is a shared component among
sibling/related playbooks and should retain its global
non-matrix-prefixed name and path") do make sense, there's another point
of view as well.

With the addition of docker-socket-proxy support in bf2b540807,
we potentially introduced another non-`matrix-`-prefixed systemd service
and global path (`/devture-container-socket-proxy`). It would have
started to become messy.

Traefik always being called `devture-traefik.service` and using the `/devture-traefik` path
has the following downsides:

- different playbooks may write to the same place, unintentionally,
  before you disable the Traefik role in some of them.
  If each playbook manages its own installation, no such conflicts
  arise and you'll learn about the conflict when one of them starts its
  Traefik service and fails because the ports are already in use

- the data is scattered - backing up `/matrix` is no longer enough when
  some stuff lives in `/devture-traefik` or `/devture-container-socket-proxy` as well;
  similarly, deleting `/matrix` is no longer enough to clean up

For this reason, the Traefik instance managed by this playbook
will now be called `matrix-traefik` and live under `/matrix/traefik`.

This also makes it obvious to users running multiple playbooks, which
Traefik instance (powered by which playbook) is the active one.
Previously, you'd look at `devture-traefik.service` and wonder which
role was managing it.
2023-03-06 09:34:31 +02:00
Slavi Pantaleev 449b51588e Remove usage of undefined matrix_bot_go_neb_identifier variable
This is a mistake made in 10b5350370.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2540
2023-03-06 08:52:32 +02:00
Aine 493de7316c
update honoroit 0.9.16 -> 0.9.17
* healthchecks.io integration
* mutex on forwarding messages into thread
* fix in prefixes handling
* send error messages as thread reply when possible
2023-03-05 14:52:53 +00:00
Slavi Pantaleev 10b5350370 Add Traefik support to Go-NEB bot
Completely untested.
2023-03-03 10:40:45 +02:00
Slavi Pantaleev 6085e3a816 Add validation tasks for Etherpad migration (matrix_etherpad -> etherpad) 2023-03-03 10:38:11 +02:00
Slavi Pantaleev 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
Slavi Pantaleev 2e2691e96b
Merge pull request #2534 from FSG-Cat/draupnir
Resolve Draupnir regression caused in #2508
2023-03-02 10:35:29 +02:00
Catalan Lover 4ccd3f79de
Fix Draupnir config
Config was accidently changed when importing upstream changes.
2023-03-02 03:58:03 +01:00
Slavi Pantaleev 227d9d8209 Fix variable name typo 2023-03-01 23:14:40 +02:00
Slavi Pantaleev 8db2c0498a Upgrade Synapse (v1.77.0 -> v1.78.0) 2023-03-01 11:07:25 +02:00
Slavi Pantaleev d6371a0781 Upgrade ddclient (v3.10.0-ls110 -> v3.10.0-ls111) 2023-03-01 10:32:49 +02:00
Slavi Pantaleev f7149103e4 Remove matrix_playbook_traefik_certs_dumper_role_enabled in favor of just devture_traefik_certs_dumper_enabled
We don't need these 2 roughly-the-same settings related to the
traefik-certs-dumper role.

For Traefik, it makes sense, because it's a component used by the
various related playbooks and they could step onto each other's toes
if the role is enabled, but Traefik is disabled (in that case, uninstall
tasks will run).

As for Traefik certs dumper, the other related playbooks don't have it,
so there's no conflict. Even if they used it, each one would use its own
instance (different `devture_traefik_certs_dumper_identifier`), so there
wouldn't be a conflict and uninstall tasks can run without any danger.
2023-03-01 09:31:48 +02:00
array-in-a-matrix c3900aaf1b remove devture services 2023-02-28 18:06:46 -05:00
Aine 0fe1d1f9ec
Update element 1.11.23 -> 1.11.24 2023-02-28 13:18:59 +00:00
Slavi Pantaleev 6fe739a2cb Remove unnecessary variable 2023-02-27 18:32:22 +02:00
Slavi Pantaleev 7716c306f1 Split Traefik rules for Matrix Client and Matrix Federation APIs
This helps people who run federation on another domain (etc.).
They should now easily be able to add a custom rule for federation traffic.
2023-02-27 17:28:33 +02:00
Thom Wiggers d544f746e8
Update irc appservice 2023-02-27 13:40:23 +01:00
Slavi Pantaleev 058a54fd05 Add native Traefik support to Dimension 2023-02-26 23:06:36 +02:00
Slavi Pantaleev cdd23aafc6 Add matrix_conduit_container_network/matrix_conduit_container_additional_networks 2023-02-26 22:08:08 +02:00
Slavi Pantaleev 9e4ecf4ac9 Add matrix_dendrite_container_network/matrix_dendrite_container_additional_networks 2023-02-26 22:05:36 +02:00
Aine 7852d5eb26
update mautrix-telegram 0.12.2 -> 0.13.0 2023-02-26 15:58:10 +00:00
Slavi Pantaleev 71ae825f6a Switch default reverse-proxy to Traefik, force reverse-proxy choice on existing users 2023-02-26 16:14:05 +02:00
Slavi Pantaleev d20ff688db Add native Traefik support to Sygnal 2023-02-26 11:03:42 +02:00
Slavi Pantaleev 8df7ad47cd Fix rageshake project description in defaults/main.yml 2023-02-25 19:04:28 +02:00
Slavi Pantaleev 725b2beed7 Add native Traefik support to Buscarron 2023-02-25 15:50:48 +02:00
Slavi Pantaleev bc5dda2b3a Reorder some Buscarron default variables and fix some typos
Fixes a regression introduced in 0220c851e8
2023-02-25 15:11:23 +02:00
Slavi Pantaleev 0220c851e8 Add multiple container networks support to Buscarron 2023-02-25 15:03:03 +02:00
Slavi Pantaleev 6c2d397853 Fix inaccurate Buscarron project description comment 2023-02-25 14:58:41 +02:00
Slavi Pantaleev c5dbeeae91
Merge pull request #2510 from gnunicorn/ben-adding-rageshake
Add rageshake server
2023-02-25 14:05:42 +02:00
Slavi Pantaleev 233e253264 Add native Traefik support to rageshake 2023-02-25 13:46:42 +02:00
Slavi Pantaleev 4c64e092d0 Fix rageshake self-building
BuildX is required for building this container image.
2023-02-25 13:09:53 +02:00
Slavi Pantaleev 39be2ef71a Fix matrix_rageshake_container_src_files_path value 2023-02-25 13:01:38 +02:00
Slavi Pantaleev 9a8ebf3d8c matrix_rageshake_docker_ -> matrix_rageshake_container_ 2023-02-25 13:01:11 +02:00
Slavi Pantaleev 5934de84be Reorder matrix-rageshake default variables a bit 2023-02-25 12:59:56 +02:00
Slavi Pantaleev 8339ebdf58 Redo the way matryx-rageshake configuration is done
This makes it consistent with the rest of the playbook:
- there's a default config which has various variables controlling
  settings
- there's also an `_extension_yaml` variable, which lets you override it
2023-02-25 12:29:22 +02:00
Slavi Pantaleev a51c9521a8 Rename some task files 2023-02-25 12:23:45 +02:00
Slavi Pantaleev db0104978f Extract api_prefix rageshake configuration into matrix_rageshake_config_api_prefix 2023-02-25 12:23:07 +02:00
Slavi Pantaleev 19e0b8374b Enable matrix_rageshake_enabled in the role by default
We disable it via `group_vars/matrix_servers`, as we do for all other
roles.
2023-02-25 12:20:25 +02:00
Slavi Pantaleev d513c0f446 Document why the rageshake version is master 2023-02-25 12:20:09 +02:00
Benjamin Kampmann 40f037b36d Add rageshake server 2023-02-24 16:55:49 +01:00
Slavi Pantaleev c8022c1a18 Remove useless explicit daemon reload in matrix-user-creator
The next task asks for a daemon reload, so there's no need to do it
twice.
2023-02-23 08:35:45 +02:00
Slavi Pantaleev 0af6e6d9d9 Make wait time for matrix-user-creator configurable and increase default (7 -> 10 sec.) 2023-02-23 08:26:35 +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
Slavi Pantaleev 4caeab9117
Fix spacing around Jinja2 filters 2023-02-22 15:54:14 +02:00
Igor Goldenberg 620247673e Allow configure default country code in element welcome page. 2023-02-22 18:04:13 +05:00
Slavi Pantaleev 1c10a7727c Upgrade ddclient (v3.10.0-ls106 -> v3.10.0-ls110) 2023-02-21 07:40:55 +02:00
Catalan Lover 65e7aa2406
Update Draupnir from v1.80.0 to v1.80.1 2023-02-20 22:22:10 +01:00
Catalan Lover 601b67c02d
Update Draupnir Config 2023-02-20 22:21:02 +01:00
Slavi Pantaleev 6cdbde01d7 Fix various Traefik headers syntax
`always` is an nginx suffix, which shouldn't have been added to these.
2023-02-20 16:50:39 +02:00
Slavi Pantaleev 0da308e24d Upgrade com.devture.ansible.role.traefik 2023-02-19 10:20:13 +02:00
Slavi Pantaleev 5df89a44b3 Add support for customizing Synapse templates 2023-02-17 19:37:34 +02:00
Slavi Pantaleev 9775218850 Add matrix_synapse_email_app_name variable 2023-02-17 18:31:01 +02:00
Slavi Pantaleev 632026513e Add matrix_synapse_uid, matrix_synapse_gid and matrix_synapse_username 2023-02-17 17:16:50 +02:00
Slavi Pantaleev 990a6369e1 Switch to using an external Redis role 2023-02-17 16:23:59 +02:00
Slavi Pantaleev 519b32543c Add matrix_synapse_container_network and matrix_synapse_container_additional_networks 2023-02-17 16:13:38 +02:00
Slavi Pantaleev 0ce2121d01 Fix variable typo in validation task 2023-02-17 14:59:22 +02:00
Slavi Pantaleev b291459bf3 Fix syntax error 2023-02-17 10:13:34 +02:00
Slavi Pantaleev 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
Slavi Pantaleev 38c4e464c1 Fix self-check for Hydrogen and Cinny when running under a subpath 2023-02-17 09:20:22 +02:00
Aine 954920dd4f
Update ntfy 1.31.0 -> 2.0.0 2023-02-16 20:00:00 +00:00
Slavi Pantaleev 8fd8f12a0d
Merge pull request #2493 from etkecc/patch-174
Update mautrix-whatsapp 0.8.1 -> 0.8.2
2023-02-16 20:08:50 +02:00
Aine 64ec1db077
Update mautrix-whatsapp 0.8.1 -> 0.8.2 2023-02-16 18:03:18 +00:00
Aine 649f6512ca
Update mautrix-discord 0.1.0 -> 0.1.1 2023-02-16 18:02:25 +00:00
Slavi Pantaleev bb7895678c Fix typo 2023-02-15 11:48:27 +02:00
Aine 4fe6015464
Update ntfy 1.30.1 -> 1.31.0 2023-02-15 09:02:36 +00:00
Slavi Pantaleev 7c5826f1c3 Break dependency between matrix-prometheus-nginxlog-exporter and the Grafana role
Wiring happens via `group_vars/matrix_servers` now.
2023-02-15 10:52:25 +02:00
Slavi Pantaleev 1006b8d899 Replace matrix-grafana with an external role 2023-02-15 10:32:24 +02:00
Slavi Pantaleev 94124263a7 Add matrix_prometheus_container_network/matrix_prometheus_container_additional_networks 2023-02-15 08:56:11 +02:00
Slavi Pantaleev 0b9dc56edf Add type support to matrix_coturn_container_additional_volumes
.. and try to auto-switch between `bind` and `volume` depending on
whether there's a slash in the `src` path.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2482
2023-02-15 06:03:55 +02:00
Slavi Pantaleev 1f0da1103a
Merge pull request #2485 from etkecc/patch-171
update postmoogle 0.9.13 -> 0.9.14
2023-02-14 22:48:51 +02:00
Slavi Pantaleev c85d48c45c Remove Traefik labels for Hydrogen & Cinny from matrix-nginx-proxy
Related to 6a52be7987 and 28e7ef9c71f02
2023-02-14 22:46:34 +02:00
Aine 4045d72e7b
update postmoogle 0.9.13 -> 0.9.14
* make banlist consistent
* proper multi-error message
* ignore "." MX hosts
* try recipient domain directly, even when MX records found, but failed
2023-02-14 20:04:27 +00:00
Slavi Pantaleev 4d24e9bb7f
Merge pull request #2484 from etkecc/patch-170
Update synapse 1.76.0 -> 1.77.0
2023-02-14 20:03:33 +02:00
Aine 3570808633
Update synapse 1.76.0 -> 1.77.0 2023-02-14 17:50:55 +00:00
Aine c98f40c836
Update hydrogen 0.3.7 -> 0.3.8 2023-02-14 17:49:16 +00:00
Slavi Pantaleev 51cfd7b777
Merge pull request #2481 from moan0s/update
Bump element version
2023-02-14 15:29:34 +02:00
Julian-Samuel Gebühr 6727aa55ec Bump element version
Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
2023-02-14 13:36:04 +01:00
Slavi Pantaleev f28e7ef9c7 Add (native) Traefik support to matrix-client-cinny
Previously, it had to go through matrix-nginx-proxy.
It's exposed to Traefik directly via container labels now
2023-02-14 11:29:53 +02:00
Slavi Pantaleev 3bace0c7b9 Add matrix_synapse_admin_hostname and rename matrix_synapse_admin_public_endpoint (to matrix_synapse_admin_path_prefix) 2023-02-14 11:05:39 +02:00
Slavi Pantaleev 2e74187050 Add matrix_client_element_hostname and matrix_client_element_path_prefix variables 2023-02-14 11:02:18 +02:00
Slavi Pantaleev eb7292f274 Add matrix_client_hydrogen_hostname and fix Hydrogen serving at non-root-path 2023-02-14 10:57:13 +02:00
Slavi Pantaleev 6a52be7987 Add (native) Traefik support to matrix-client-hydrogen
Previously, it had to go through matrix-nginx-proxy.
It's exposed to Traefik directly via container labels now

Serving at a path other than `/` doesn't work well yet.
2023-02-14 09:58:35 +02:00
Slavi Pantaleev 64e2b26ed5 Fix Hydrogen failing to start
We were mounting our own configuration to
`/usr/share/nginx/html/config.json`, which is a symlink to
`/tmp/config.json`. So we effectively mount our file to
`/tmp/config.json`.

When starting:

- if Hydrogen sees a `CONFIG_OVERRIDE` environment variable,
  it will try to save it into our read-only config file and fail.

- if Hydrogen doesn't see a `CONFIG_OVERRIDE` environment variable (the
  path we go through, because we don't pass such a variable),
  it will try to copy its bundled configuration (`/config.json.bundled`)
  to `/tmp/config.json`. Because our configuration is mounted as read-only, it will
  fail.

In both cases, it will fail with:

> cp: can't create '/tmp/config.json': File exists

Source: 3720de36bb/docker/dynamic-config.sh

We work around this by mounting our configuration on top of the bundled
one (`/config.json.bundled`). We then let Hydrogen's startup script copy
it to `/tmp/config.json` (a tmpfs we've mounted into the container) and use it from there.
2023-02-14 09:49:22 +02:00
Slavi Pantaleev 799cbb44fb Add the ability to control (Traefik) routing priority for Element and synapse-admin
This may proof useful to someone in the future.
2023-02-14 09:04:50 +02:00
Slavi Pantaleev 5c7cd70684 Make use of the existing matrix_synapse_admin_public_endpoint variable 2023-02-14 08:51:20 +02:00
Slavi Pantaleev c33ed94352 Add security headers to synapse-admin (on Traefik)
We've had it on `matrix-nginx-proxy` before, but
our initial support for Traefik did not include any of these security
headers.
2023-02-14 08:49:04 +02:00
Slavi Pantaleev 71597132e0 Move around some matrix-client-element variables 2023-02-14 08:45:32 +02:00
Slavi Pantaleev 5ab5f28d14 Add support for running synapse-admin (on Traefik) at the root path
Previously, we had to run it at a subpath, like `/synapse-admin`.

We can now dedicate a whole domain and the `/` path to it, should we
wish to do so.
2023-02-14 08:42:50 +02:00
Slavi Pantaleev ff1338e003 Add support for hosting Element (on Traefik) at a subpath 2023-02-14 08:31:26 +02:00
Slavi Pantaleev e34174b1b4 Add various security headers to matrix-client-element when behind Traefik 2023-02-13 19:03:20 +02:00
Slavi Pantaleev e51e4eec09 Add (native) Traefik support to matrix-client-element
Previously, it had to go through matrix-nginx-proxy.
It's exposed to Traefik directly via container labels now
2023-02-13 19:03:20 +02:00
Slavi Pantaleev f2ed5e4b04 Delete /matrix/nginx-proxy/conf.d/matrix-client-element.conf if matrix_nginx_proxy_proxy_element_enabled not enabled 2023-02-13 19:03:20 +02:00
Aine 9f820a506a
Update postmoogle 0.9.12 -> 0.9.13
* live SSL certificates reload on file changes (e.g., on automatic certs renewal)
* print all errors when trying connection to an SMTP server
2023-02-13 14:08:09 +00:00
Slavi Pantaleev 31aa87fdb6
Merge pull request #2475 from etkecc/patch-167
Update coturn 4.6.1-r1 -> 4.6.1-r2
2023-02-13 15:12:37 +02:00
Slavi Pantaleev 3d9aa8387e Add (native) Traefik support to synapse-admin
Previously, it had to go through matrix-nginx-proxy.
It's exposed to Traefik directly via container labels now.
2023-02-13 15:08:42 +02:00
Aine f6f7bbd2a1
Update coturn 4.6.1-r1 -> 4.6.1-r2 2023-02-13 12:54:55 +00:00
Slavi Pantaleev 38904c08b0 Wire backup_borg_username
It's probably unnecessary, as this user is only used in the borg container
internally, but.. It doesn't hurt to set it to `matrix`.
2023-02-13 11:01:54 +02:00
Slavi Pantaleev 78c35136b2 Replace matrix-backup-borg with an external role 2023-02-13 10:53:11 +02:00
td af10d350bc fix: missing endif in client well-known 2023-02-13 12:32:43 +05:30
Jayesh Nirve 6939a3d6d3
fix: only add element related entries to client well-known if element is enabled (#2453)
* fix: only add element related entries to client well-known if element is enabled

* Fix matrix-base/defaults/main.yml syntax

---------

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-02-13 08:36:20 +02:00
Array in a Matrix 79413e7717
updated dendrite 2023-02-12 13:09:53 -05:00
Slavi Pantaleev f1a1ce8a91
Merge pull request #2464 from spantaleev/traefik
Reverse-proxy configuration changes and initial Traefik support
2023-02-12 16:05:56 +02:00
Catalan Lover cba63bd4b9
Upgrade Drapunir from 1.8.0 Beta to 1.8.0 release. 2023-02-11 23:51:13 +01:00
Slavi Pantaleev 6b0650641b Update matrix_playbook_reverse_proxy_type documentation 2023-02-11 08:58:53 +02:00
Slavi Pantaleev 8309a21303 Rename reverse proxy types and fix Hookshot http/https urlPrefix issue 2023-02-11 08:44:11 +02:00
Slavi Pantaleev 3f2cb840b9 Merge branch 'master' into traefik 2023-02-11 07:46:35 +02:00
Slavi Pantaleev ad22bdb884 Do not run matrix-user-verification-service validation tasks unless the service is enabled 2023-02-10 19:40:03 +02:00
Slavi Pantaleev 7142ff422d Ensure matrix_user_verification_service_uvs_access_token is always defined
The playbook tries to avoid such variables which are sometimes defined
and sometimes not. We'd rather not check for `is defined`.
2023-02-10 19:40:03 +02:00
Slavi Pantaleev 97f65e8dff Minor fixes to allow for Traefik without SSL 2023-02-10 19:36:06 +02:00
Aine a1ef28681a
Update Hydrogen 0.3.6 -> 0.3.7 2023-02-10 14:40:50 +00:00
Slavi Pantaleev 28d2eb593c Add matrix_playbook_reverse_proxy_type variable which influences all other services 2023-02-10 16:04:34 +02:00
Slavi Pantaleev 06ccd71edc Merge branch 'master' into traefik 2023-02-10 14:37:59 +02:00
Slavi Pantaleev f6ab162fff Remove systemd-reloading handler in matrix-user-verification-service
None of the other roles use handlers.

We rely on com.devture.ansible.role.systemd_service_manager to reload services when it's necessary to do so.
2023-02-10 14:22:37 +02:00
Slavi Pantaleev e1bfa2a7d6 Fix ansible-lint-reported errors 2023-02-10 14:21:31 +02:00
Slavi Pantaleev 43a6a035a0 Skip removing /.well-known/element directory to suppress ansible-lint error
Leaving an orphan directory is okay and can be improved later on.
2023-02-10 14:16:00 +02:00
Slavi Pantaleev 01ccec2dbe Merge branch 'master' into pr-jitsi-matrix-authentication 2023-02-10 14:12:47 +02:00
Slavi Pantaleev 7cdf59d79b
Merge pull request #2451 from FSG-Cat/draupnir
Add Draupnir support to the project.
2023-02-10 11:43:30 +02:00
Slavi Pantaleev d6c8ea3742
Merge pull request #2452 from borisrunakov/update-matrix-chatgpt-bot
update matrix-chatgpt-bot
2023-02-10 08:29:00 +02:00
ntallasv f71cd3a760 fix linting in validate_config.yml 2023-02-10 00:34:07 +02:00
ntallasv b738486684 update validate_config.yml 2023-02-10 00:13:31 +02:00
Aine d32f80bf29
Update postmoogle 0.9.11 -> 0.9.12
* fix uploads from incoming emails into matrix threads
* fix emails dequeue (account data cleanup)
* rewrite recipients handling (Cc, To, etc.)
2023-02-09 17:43:35 +00:00
ntallasv 9615855cfa update matrix-chatgpt-bot 2023-02-09 14:53:56 +02:00
Catalan Lover ddcb1735e2
Add draupnir as valid prefix to resolve a bug
Current draupnir does not listen to its name. This config change fixes this bug. This bodge is able to be removed once this is fixed upstream.
2023-02-08 20:05:47 +01:00
Catalan Lover a717590aa5
Rename systemd service file from mjolnir to draupnir 2023-02-08 19:53:35 +01:00
Slavi Pantaleev 88a26758e1 Merge branch 'master' into traefik 2023-02-08 18:48:10 +02:00
Catalan Lover 9092d4bb6b
Push draupnir version from develop to v1.80.0-beta.0 2023-02-08 17:02:59 +01:00
Catalan Lover 78b1ebd5af
commit main.yml for draupnir and set target ver to develop 2023-02-08 16:44:30 +01:00
Catalan Lover 563cf1a4ba
Initial commit for draupnir.
main.yml is not included due to that its changed separately.
2023-02-08 16:44:12 +01:00
Slavi Pantaleev 49a1985750 Fix Postmoogle systemd service description 2023-02-08 16:45:58 +02:00
Slavi Pantaleev d44d4b637f Allow Coturn to work with SSL certificates extracted from Traefik 2023-02-08 16:06:46 +02:00
Aine 2eb2ad0ad7
Update heisenbridge 1.14.1 -> 1.14.2 2023-02-07 09:06:00 +00:00
Slavi Pantaleev 2b9061a5d3 Add support for reverse-proxying the base domain via Traefik 2023-02-07 11:02:02 +02:00
Slavi Pantaleev 6c17671abd Upgrade synapse-admin (0.8.6 -> 0.8.7) and drop reverse-proxy workaround
Related to 6a31fba346, 6a31fba346.

Related to https://github.com/Awesome-Technologies/synapse-admin/issues/322
2023-02-07 10:45:19 +02:00
Slavi Pantaleev 66baef5bf6 Fix matrix-synapse-reverse-proxy-companion.service stopping during uninstallation
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2444
2023-02-07 08:48:50 +02:00
jakicoll 6a205a83f6 Change renamed variables matrix_systemd_path -> devture_systemd_docker_base_systemd_path 2023-02-06 17:20:13 +01:00
jakicoll 6cffec14ea fixup! Remove the self-build stub, because self-build was not implemented 2023-02-06 16:36:49 +01:00
jakicoll be634168ac Make the linter happy. 2023-02-06 16:29:25 +01:00
jakicoll f3ca4a0632 Remove unnecessary comment. 2023-02-06 16:28:57 +01:00
jakicoll 7848d865a5 Also define the vars to be overwritten in group vars within the role vars. 2023-02-06 16:28:56 +01:00
Paul N 70bea81df7 Introduced flags to (1) enable/disable Auth (2) enable/disable openid_server_name pinning. Updated validate_config.yml and added new checks to verify. 2023-02-06 15:59:32 +01:00
Paul N 96dd86d33b Set default values where sensible and remove unnecessary conditionals in .env.j2.
Check for empty string instead of Null to verify if an openid_server_name is pinned.
2023-02-06 15:26:08 +01:00
jakicoll 6b206b3763 Move checks into validate_config.yml. 2023-02-06 15:21:10 +01:00
jakicoll 6499b6536a Decoupling: Do not use variables user-verification-service role inside the jitsi role. 2023-02-06 15:18:25 +01:00
Paul N 50c1e9d695 Set matrix_user_verification_service_uvs_homeserver_url in the role defaults and updated docs accordingly. 2023-02-06 13:14:34 +01:00
jakicoll 0e0ae2f3e6 Assign default log level in role instead of matrix_servers file. 2023-02-06 13:04:06 +01:00
jakicoll bf5e633656 Remove the self-build stub, because self-build was not implemented 2023-02-06 12:57:20 +01:00
Paul N b89f5b7ff5
Clarify task name and add user and group to templated env file
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-02-06 12:47:50 +01:00
Jakob S 6913d368c8
Consolidate conditionals into a block, keep image
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2023-02-06 12:38:01 +01:00
Slavi Pantaleev 8155f780e5 Add support for reverse-proxying Matric (Client & Federation) via Traefik 2023-02-06 13:08:11 +02:00
Slavi Pantaleev f983604695 Initial work on Traefik support
This gets us started on adding a Traefik role and hooking Traefik:

- directly to services which support Traefik - we only have a few of
  these right now, but the list will grow

- to matrix-nginx-proxy for most services that integrate with
  matrix-nginx-proxy right now

Traefik usage should be disabled by default for now and nothing should
change for people just yet.

Enabling these experiments requires additional configuration like this:

```yaml
devture_traefik_ssl_email_address: '.....'

matrix_playbook_traefik_role_enabled: true
matrix_playbook_traefik_labels_enabled: true

matrix_ssl_retrieval_method: none

matrix_nginx_proxy_https_enabled: false

matrix_nginx_proxy_container_http_host_bind_port: ''
matrix_nginx_proxy_container_federation_host_bind_port: ''

matrix_nginx_proxy_trust_forwarded_proto: true

matrix_nginx_proxy_x_forwarded_for: '$proxy_add_x_forwarded_for'

matrix_coturn_enabled: false
```

What currently works is:
reverse-proxying for all nginx-proxy based services **except** for the Matrix homeserver
(both Client-Server an Federation traffic for the homeserver don't work yet)
2023-02-06 10:34:51 +02:00
Slavi Pantaleev 4d6a8d049d Add matrix_nginx_proxy_container_network variable 2023-02-06 08:48:11 +02:00