Commit Graph

3895 Commits

Author SHA1 Message Date
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
Slavi Pantaleev
e018663ba4 Attach ma1sd/nginx-proxy/synapse-reverse-proxy-companion to additional networks in a better way
Switching from doing "post-start" loop hacks to running the container
in 3 steps: `create` + potentially connect to additional networks + `start`.
This way, the container would be connected to all its networks even at
the very beginning of its life.
2023-02-06 08:38:43 +02:00