Commit Graph
100 Commits
Author SHA1 Message Date
Slavi Pantaleev e80b98c3ad Do not mount SSL certificates into Coturn if TLS is disabled for it 2023-02-16 09:22:29 +02:00
Slavi Pantaleev 93bb117a29 Mention Traefik changes causing backward-compatibility break for own-webserver (non-nginx-proxy) users
This also updates `docs/configuring-playbook-own-webserver.md`,
trying to make it up-to-date with all recent changes.
2023-02-16 09:21:31 +02:00
Slavi PantaleevandGitHub 1e085b432b Merge pull request #2491 from Cadair/patch-1
Update mautrix slack docs
2023-02-15 19:36:23 +02:00
Slavi Pantaleev bb7895678c Fix typo 2023-02-15 11:48:27 +02:00
Slavi PantaleevandGitHub 4c7d054b37 Merge pull request #2489 from etkecc/patch-172
Update ntfy 1.30.1 -> 1.31.0
2023-02-15 11:05:04 +02: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 59a3646c66 Make .editorconfig for group_vars/matrix_servers cleaner
It's the same result as b6d45304b4, but it's done in a cleaner way.
2023-02-15 08:50:31 +02:00
Slavi Pantaleev b6d45304b4 Make sure group_vars/matrix_servers is indented like other YAML files (with 2 spaces) 2023-02-15 08:49:30 +02:00
Slavi Pantaleev b648d4579f Make it clear that certain matrix_nginx_proxy_* variables are necessary for now, even with Traefik
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2480
2023-02-15 07:30:38 +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 PantaleevandGitHub 89fea3ef3c Merge pull request #2488 from array-in-a-matrix/patch-14
Added link to exim/email documentation
2023-02-15 05:59:39 +02:00
Slavi PantaleevandGitHub 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
Slavi PantaleevandGitHub 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
Slavi PantaleevandGitHub 73fa9817fc Merge pull request #2483 from etkecc/patch-169
Update hydrogen 0.3.7 -> 0.3.8
2023-02-14 19:59:44 +02:00
Slavi PantaleevandGitHub 51cfd7b777 Merge pull request #2481 from moan0s/update
Bump element version
2023-02-14 15:29:34 +02: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: https://github.com/vector-im/hydrogen-web/blob/3720de36bbee8609ca7cf625e7b72dc44609e393/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
Slavi PantaleevandGitHub c0060753b5 Merge pull request #2477 from etkecc/patch-168
Update postmoogle 0.9.12 -> 0.9.13
2023-02-13 18:09:30 +02:00
Slavi Pantaleev b2d8718233 Fix synapse-admin reverse-proxying regression for "playbook-managed-nginx"
Regression since 3d9aa8387e
2023-02-13 16:08:59 +02:00
Slavi Pantaleev 6cda711c0b Fix incorrect host_bind_port syntax (extra :) affecting certain deployments
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2474

Seems like this affected all "own webserver" deployments, which required
port exposure.

`playbook-managed-traefik` and `playbook-managed-nginx` were not affected.
2023-02-13 15:38:24 +02:00
Slavi PantaleevandGitHub 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
Slavi Pantaleev 80935a5194 Fix broken backup_borg link
Referenced here: https://github.com/spantaleev/matrix-docker-ansible-deploy/commit/06f5be4fa549713ef88e830d371f9806b894f9e1#r100414988
2023-02-13 14:14:25 +02:00
Slavi Pantaleev 06f5be4fa5 Announce matrix-backup-borg extraction 2023-02-13 13:16:55 +02:00
Slavi Pantaleev 5d14621916 Fix outdated documentation leading to matrix-backup-borg 2023-02-13 13:16:55 +02:00
Slavi PantaleevandGitHub e78c52a63a Merge pull request #2473 from etkecc/patch-166
restore borg prefixes
2023-02-13 12:45:14 +02:00
Slavi Pantaleev 266195ab45 Upgrade backup_borg (v1.2.3-1.7.5-1 -> v1.2.3-1.7.6-0)
Supersedes https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2472
2023-02-13 12:26:49 +02:00
Slavi Pantaleev 65730b84d3 Upgrade backup_borg (v1.2.3-1.7.5-0 -> v1.2.3-1.7.5-1) 2023-02-13 11:51:11 +02:00
Slavi Pantaleev 23f7720247 Add missing backup_borg_base_path override 2023-02-13 11:44:19 +02: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
Slavi PantaleevandGitHub f81aa4a927 Merge pull request #2470 from Techno-Disaster/td/oops
fix: missing endif
2023-02-13 09:12:48 +02:00
Slavi PantaleevandGitHub 2be5ba45db Merge pull request #2466 from array-in-a-matrix/patch-13
updated dendrite
2023-02-12 20:37:23 +02:00
Slavi Pantaleev 972043cfaf Fix trying to start devture-traefik when not necessarily enabled
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2465
2023-02-12 17:14:25 +02:00
Slavi PantaleevandGitHub f1a1ce8a91 Merge pull request #2464 from spantaleev/traefik
Reverse-proxy configuration changes and initial Traefik support
2023-02-12 16:05:56 +02:00
Slavi Pantaleev bc4cb7bb6a Update configuring-playbook-own-webserver.md with matrix_playbook_reverse_proxy_type awareness 2023-02-12 16:03:44 +02:00
Slavi Pantaleev 73435dfe10 Announce Traefik support 2023-02-12 15:53:18 +02:00
Slavi Pantaleev b3f6436a0d Do not enable the Traefik role when reverse-proxy = other-traefik-container 2023-02-12 15:50:18 +02:00
Slavi PantaleevandGitHub 709e528f60 Merge pull request #2462 from FSG-Cat/patch-4
Upgrade Drapunir from 1.8.0 Beta to 1.8.0 release.
2023-02-12 08:18:58 +02:00
Slavi PantaleevandGitHub e41840e184 Merge pull request #2463 from JokerGermany/patch-1
Add Draupnir to the Readme
2023-02-12 08:17:59 +02:00
Slavi PantaleevandGitHub 4ab915f385 Merge pull request #2460 from FSG-Cat/Mjolnir/Drapunir-Crash-on-start/Dimension-Crash-on-start
Fix Dimension,Mjolnir and Drapunir crashing upon startup just to recover.
2023-02-11 19:24:20 +02:00
Slavi Pantaleev 6b0650641b Update matrix_playbook_reverse_proxy_type documentation 2023-02-11 08:58:53 +02:00
Slavi Pantaleev 94be74e633 Improve traefik-certs-dumper defaults for other-traefik-container setups
We'd like to auto-enable traefik-certs-dumper for these setups.

`devture_traefik_certs_dumper_ssl_dir_path` will be empty though,
so the role's validation will point people in the right direction.
2023-02-11 08:54:07 +02:00
Slavi Pantaleev f37a7a21f1 Delay Postmoogle startup to help Traefik-based setups 2023-02-11 08:53:32 +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
Slavi PantaleevandGitHub ddad722e78 Merge pull request #2458 from etkecc/patch-164
Update Hydrogen 0.3.6 -> 0.3.7
2023-02-10 16:53:13 +02:00
Slavi Pantaleev a5afa4eac9 Merge branch 'master' into traefik 2023-02-10 16:11:58 +02:00
Slavi Pantaleev c773a005ae Fix broken link to Matrix User Verification Service 2023-02-10 16:11:52 +02: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 PantaleevandGitHub 8263228ffb Merge pull request #2457 from FSG-Cat/patch-3
Fix formating error in Draupnir docs
2023-02-10 14:40:59 +02:00
Slavi Pantaleev 06ccd71edc Merge branch 'master' into traefik 2023-02-10 14:37:59 +02:00
Slavi Pantaleev 6db3c8f2ad Announce Matrix Authentication Support for Jitsi
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2375
2023-02-10 14:26:41 +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 600aaa0bc7 Announce Draupnir support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2451
2023-02-10 11:52:31 +02:00
Slavi PantaleevandGitHub 7cdf59d79b Merge pull request #2451 from FSG-Cat/draupnir
Add Draupnir support to the project.
2023-02-10 11:43:30 +02:00
Slavi PantaleevandGitHub 0a15e56641 Fix typo 2023-02-10 11:41:44 +02:00
Slavi PantaleevandGitHub d6c8ea3742 Merge pull request #2452 from borisrunakov/update-matrix-chatgpt-bot
update matrix-chatgpt-bot
2023-02-10 08:29:00 +02:00
Slavi PantaleevandGitHub 7fb7e7cd69 Merge pull request #2454 from etkecc/patch-163
Update postmoogle 0.9.11 -> 0.9.12
2023-02-09 21:47:30 +02:00
Slavi Pantaleev c289996cd9 Upgrade com.devture.ansible.role.traefik 2023-02-09 10:16:41 +02:00
Slavi Pantaleev a5683a6449 Upgrade com.devture.ansible.role.traefik and rename some variables 2023-02-09 10:12:09 +02:00
Slavi Pantaleev 88a26758e1 Merge branch 'master' into traefik 2023-02-08 18:48:10 +02:00
Slavi Pantaleev c71567477a Stop using deprecated matrix_bot_postmoogle_domain variable in group vars 2023-02-08 18:48:01 +02:00
Slavi Pantaleev 1338963b6c Add support for obtaining additional SSL certificates via Traefik 2023-02-08 18:47:19 +02:00
Slavi Pantaleev 49a1985750 Fix Postmoogle systemd service description 2023-02-08 16:45:58 +02:00
Slavi Pantaleev 9a71a5696b Allow Postmoogle to work with SSL certificates extracted from Traefik 2023-02-08 16:45:03 +02:00
Slavi Pantaleev ddf6b2d4ee Handle matrix_playbook_reverse_proxy_type being "none" when deciding on Coturn certificate parameters 2023-02-08 16:24:43 +02:00
Slavi Pantaleev d44d4b637f Allow Coturn to work with SSL certificates extracted from Traefik 2023-02-08 16:06:46 +02:00
Slavi Pantaleev c07630ed51 Add com.devture.ansible.role.traefik_certs_dumper role
With this, other roles (like Coturn, Postmoogle) will be able
to use SSL certificates extracted from Traefik
via https://github.com/ldez/traefik-certs-dumper
2023-02-08 16:05:38 +02:00
Slavi PantaleevandGitHub 65b8e0f4ef Merge pull request #2446 from etkecc/patch-162
Update heisenbridge 1.14.1 -> 1.14.2
2023-02-07 11:15:19 +02: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
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 946bbe9734 Upgrade prometheus_node_exporter (v1.5.0-1 -> v1.5.0-2) 2023-02-06 09:54:34 +02:00
Slavi Pantaleev 5de5b5c62c Upgrade prometheus_postgres_exporter (v0.11.1-1 -> v0.11.1-2) 2023-02-06 09:49:15 +02:00
Slavi Pantaleev 4d6a8d049d Add matrix_nginx_proxy_container_network variable 2023-02-06 08:48:11 +02:00