Commit graph

456 commits

Author SHA1 Message Date
Slavi Pantaleev e46ba5deba Add matrix-appservice-kakaotalk support
Adds support for: https://src.miscworks.net/fair/matrix-appservice-kakaotalk

This is pretty similar to
https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1977
which just appeared, but has mostly been done independently.

I've taken some inspiration and did some fixups based on that PR.
Thanks to https://github.com/hnarjis for taking the time to contribute!

Notable differences between this branch compared to that PR:

- better naming and documentation around the "configuration" variables
- no unnecessary (5 sec.) intentional delay when starting `matrix-appservice-kakaotalk-node.service`
- stores configuration in `config/`, not in `data/`
- passes configuration as read-only and starts the bridge with (`--no-update`) to ensure no changes are made to it
- starts containers more securely - with `matrix:matrix` user:group (not `root`) and
  reduced capabilities (`--cap-drop=ALL`)
- uses `tcp` for communication between the "node" and the appservice (simpler than sharing unix sockets)
- `registration.yaml` which is closer to the one generated by `matrix-appservice-kakaotalk` (no `de.sorunome.msc2409.push_ephemeral` stuff, etc.)
- `registration.yaml` which is more customizable (customizable bot username and prefix for puppets - see `matrix_appservice_kakaotalk_appservice_bot_username` and `matrix_appservice_kakaotalk_user_prefix`)
- less fragile and more extensible bridge permissions configuration via `matrix_appservice_kakaotalk_bridge_permissions`. Doing `{% if matrix_admin %}` in the bridge configuration sometimes causes syntax problems (I hit some myself) and is not ideal. Other bridges should be redone as well.
- configurable command prefix for the bridge, instead of hardcoding `!kt` (see `matrix_appservice_kakaotalk_command_prefix`)
- logging that is more consistent with the rest of the playbook (console / journald only, no logging to files), as well as configurable log level (via `matrix_appservice_kakaotalk_logging_level`)
- somewhat more detailed documentation (`docs/configuring-playbook-bridge-appservice-kakaotalk.md`)
- removed some dead code (data relocation tasks from `tasks/setup_install.yml`, as well as likely unnecessary SQLite -> Postgres migration)
2022-07-25 16:01:15 +03:00
MdotAmaan 8621ff1379 Add Mautrix Discord Bridge 2022-07-22 18:55:44 +04:00
Slavi Pantaleev 1f2d100d91
Merge pull request #1894 from moan0s/maubot_moanos
Maubot moanos
2022-07-20 10:10:14 +03:00
Slavi Pantaleev d073c7ecb3 More ansible-lint fixes 2022-07-18 13:01:19 +03:00
Slavi Pantaleev e94ec75e1a Remove matrix-bridge-mx-puppet-skype role 2022-07-14 18:09:19 +03:00
Julian-Samuel Gebühr 135096e53a Add defaults 2022-07-09 11:55:49 +02:00
Julian-Samuel Gebühr 9ee5785704 Add postgres to service dependencies 2022-07-09 11:44:11 +02:00
Julian Foad 25b343c8c8 matrix-ntfy: without nginx, bind to 127.0.0.1:2586 2022-07-08 12:02:06 +01:00
Julian Foad ec9f8e2931 Add a role to install 'ntfy' push-notification server.
This commit adds a 'matrix-ntfy' role that runs Ntfy server in Docker with
simple configuration, and plumbing to add the role to the playbook.

TODO: documentation, self-check, database persistence.
2022-07-04 15:31:29 +01:00
Slavi Pantaleev 2e4fad6194 Use 127.0.0.1 instead of localhost for federation API when nginx disabled
`localhost` may resolve to `::1` on some IPv6-enabled systems, which will
not work, because we only potentially expose container ports on
`127.0.0.1` when nginx is disabled (`matrix_nginx_proxy_enabled: false`),
not on `::1`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1914
2022-07-02 15:02:35 +03:00
Julian-Samuel Gebühr 90447a2839 Use correct registration secret 2022-06-24 18:19:23 +02:00
Julian-Samuel Gebühr 8e9d165787 Another rename to matrix-bot-maubot
No functionality changed
2022-06-24 18:06:06 +02:00
Julian-Samuel Gebühr 1316656998 Rename to bot_maubot and fix permission error 2022-06-23 21:58:03 +02:00
Julian-Samuel Gebühr eb25d54246 Merge branch 'master' of https://github.com/spantaleev/matrix-docker-ansible-deploy into node_postgres_reverse_proxy 2022-06-23 20:45:13 +02:00
Julian-Samuel Gebühr d24cb7db6f Initial maubot commit 2022-06-23 20:24:52 +02:00
Slavi Pantaleev ba51997f7b (BC Break) Redo how metrics are exposed to external Prometheus servers 2022-06-23 17:55:07 +03:00
krassle fff4b9116c
Use prebuilt ARM images for coturn / synapse-admin
* synapse-admin arm64 builds available since 2021-12-17 v.0.8.4 [awesometechnologies/synapse-admin:0.8.5](https://hub.docker.com/layers/synapse-admin/awesometechnologies/synapse-admin/0.8.5/images/sha256-eb54b8660c4641641b8acd08fd2dfc94ecc3fc604860f9e8b286a38008e3f3b6?context=explore)

* coturn arm32/arm64 builds available since 2021-04-15 v.4.5.2-r0-alpine [coturn/coturn:4.5.2-r12](https://hub.docker.com/layers/coturn/coturn/coturn/4.5.2-r12/images/sha256-94887581bb1093085033be0494c3a651bd40034afba1867ddc78b8ba32dc2faf?context=explore)
2022-06-22 10:10:41 +02:00
Vladimir Panteleev a3d19ad318
Add Go Skype Bridge
Based on mautrix-whatsapp, as that's what the bridge software is based on.
2022-06-12 21:29:43 +00:00
Julian-Samuel Gebühr 8ecdfc3ed6
Automatically enable admin api access via nginx (#1830) 2022-05-16 10:26:15 +03:00
Devin Dooley cbb924dec7 Support ansible vault strings for homeserver secret key 2022-04-25 19:17:40 -07:00
Slavi Pantaleev 49da9c76ac
Merge pull request #1782 from etkecc/matrix-bot-buscarron
add matrix-bot-buscarron
2022-04-25 09:44:35 +03:00
Slavi Pantaleev 47e5bab784
Fix self-building if condition 2022-04-25 09:22:01 +03:00
Matthew Cengia c83c70ac35 Don't self-build signald image on arm64, as upstream image exists 2022-04-25 10:25:05 +10:00
Aine 290754371a
add matrix-bot-buscarron 2022-04-23 16:19:24 +03:00
Julian-Samuel Gebühr 90a142439a
Add matrix-registration-bot (#1771)
* Add matrix-registration-bot

This adds an install and uninstall task plus helpers. The bot is disabled by default.
This commit does not include documentation, yet. In short, the bot can be enabled by adding
matrix_bot_matrix_registration_bot_enabled: true
matrix_bot_matrix_registration_bot_matrix_user_password: "verysecret"
matrix_bot_matrix_registration_bot_matrix_admin_token: "supersecret"
to the host_vars

* Change bot username to bot.matrix-registration-bot following convention

* Address smaller remarks, fix local docker build

* Switch to an env file

* Add environment variables extension for additional config

* Add documentation for the matrix-registration-bot

* Add screenshot on how to obtain admin access token

* Use bot as admin to only have one access token (bot and admin api)

* Use cleaner setting of matrix_synapse_registration_requires_token

* Use config file for cleaner more secure usage

* Delete unneeded env

* Rename vars to make usage clear

* Fix typos/wording and add notice about logging out

* Convert configuration to use |to_json

* Reorder role includes

Nothing should be after `matrix-common-after`.

`matrix-bot-matrix-registration-bot` can probably be anywhere, but it makes sense to put it next to the other `matrix-bot-*` roles.

* Minor group_vars/matrix_servers touchups

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-04-21 11:07:47 +03:00
Aine d5f4c17146
matrix-backup-borg: integrate postgres backups, add extended borgmatic configuration 2022-04-14 18:06:54 +03:00
HarHarLinks a9e6538ef8 Upgrade Hookshot (1.3.0 -> 1.4.0)
https://github.com/matrix-org/matrix-hookshot/releases/tag/1.4.0
2022-04-11 18:55:02 +02:00
HarHarLinks ceb2f54970 Make hookshot hardcoded public URLs dynamic 2022-04-11 16:45:33 +02:00
Hefty Zauk 03d2dcc996
Move into coturn defaults 2022-04-11 11:20:09 +00:00
heftyzauk 268b079374
Revert Coturn Address Change, add new Addresses var (#2) 2022-04-11 11:50:41 +01:00
heftyzauk 29847627f1
Multi-IP coturn
Add support for multiple external turn IP addresses, this allows for better comptability with dualstack ipv4/ipv6 hosts, and is supported as per the documentation (point 6 here: https://matrix-org.github.io/synapse/latest/turn-howto.html#configuration)
2022-04-10 21:51:03 +01:00
PC-Admin ab3e02c7fd Remove matrix-awx sections 2022-04-09 08:48:02 +08:00
Slavi Pantaleev db4b6efb5d Force self-building of matrix-hookshot on arm64
The `halfshot/matrix-hookshot` container images published to Docker Hub
(as of 2022-04-05, at least) are only available for `amd64`, not for
`arm64`. Self-building on arm64 is necessary.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1728

It should be noted that a `roiarthurb/matrix-hookshot` container image is available,
which is available for the arm64 platform, but that's non-official and doesn't
contain an amd64 build, so it's of limited use.
2022-04-05 16:08:11 +03:00
Aine a5a3769ca9
add borg backup (#1727)
* add borg backup

* lint fix

* add exlclude patterns

* missed in the #1726 fix for honoroit

* feedback

* Fix indentation

* feedback

* feedback

* feedback

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-04-05 14:37:27 +03:00
Slavi Pantaleev b9d6f8b90f
Merge pull request #1728 from RoiArthurB/hookshot-arm64
Add hookshot self build for arm64 and amd64
2022-04-05 09:58:26 +03:00
SaltireSoul e7978dbdca Dendrite 0.7.0 2022-04-05 03:40:37 +01:00
Arthur Brugière 1ce891fc70
Revert group_var wrong part reindent 2022-04-03 23:42:29 +07:00
RoiArthurB b38c7371a9 [STEAM] Move docker source from icewind1991 to tilosp fixed repo 2022-04-03 17:34:27 +07:00
Arthur Brugière b3176957c3
Add hookshot self build for arm64 and amd64 2022-04-03 17:10:46 +07:00
Slavi Pantaleev 958d089b68 Do not install the ma1sd identity server by default
As mentioned in the changelog, this is a breaking change.
2022-03-17 18:00:09 +02:00
Slavi Pantaleev 1df3e2a967
Merge pull request #1694 from HarHarLinks/master
add default for matrix_prometheus_scraper_hookshot_enabled
2022-03-15 17:01:08 +02:00
Slavi Pantaleev 5eb514b08b
Use |default instead of merely casting to bool 2022-03-15 17:01:00 +02:00
Kim Brose 9c58f2a98a
default matrix_prometheus_scraper_hookshot_enabled 2022-03-14 14:07:06 +01:00
László Várady 9de677942d bridge-mautrix-facebook: add support for web-based login 2022-03-12 16:30:29 +01:00
Slavi Pantaleev 69d2da4d44 Fix whitespace inconsistency 2022-03-10 11:41:41 +02:00
Slavi Pantaleev 1895b01810 Move matrix_container_global_registry_prefix to matrix-base
Various roles depend on this. It makes sense to make it part
of the `matrix-base` role.
2022-03-10 11:28:25 +02:00
Slavi Pantaleev 8c25ade9fb Rework matrix_mautrix_twitter_database_* variables a bit
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1682

Previously, when matrix-postgres was disabled, we were setting
`matrix_mautrix_twitter_database_engine` to an invalid empty value.

Now, we always hardcode `matrix_mautrix_twitter_database_engine: postgres`,
but set/unset the database hostname and password values instead.
2022-03-08 08:10:40 +02:00
Kim Brose 648001875e
Fix for old jinja versions
Co-authored-by: Procuria <37988494+Procuria@users.noreply.github.com>
2022-03-03 20:49:57 +01:00
HarHarLinks d556952bb6 update hookshot to respect protocol and custom ports 2022-02-16 20:10:01 +01:00
Marko Weltzer 8e8bf55e15 fix: missing spaces on closing } 2022-02-09 08:52:53 +01:00
Marko Weltzer 819574b8ba
Merge branch 'spantaleev:master' into master 2022-02-05 21:37:53 +01:00
Marko Weltzer 7e5b88c3b7 fix: all praise the allmighty yamllinter 2022-02-05 21:32:54 +01:00
Slavi Pantaleev ccb85b31a4 Upgrade devture/email2matrix (1.0.1 -> 1.0.2) and disable self-building on ARM32/ARM64
1.0.2 is the first container image tag that is available as a multi-arch image
with support for linux/amd64, linux/arm64/v8 (arm64) and linux/arm/v7 (arm32),
so self-building is no longer necessary on all these platforms.
2022-02-05 11:14:20 +02:00
Slavi Pantaleev 1099ccab43 Upgrade devture/exim-relay (4.95-r0 -> 4.95-r0-1) and disable self-building on ARM32/ARM64
4.95-r0-1 is the first container image tag that is available as a multi-arch image
with support for linux/amd64, linux/arm64/v8 (arm64) and linux/arm/v7 (arm32),
so self-building is no longer necessary on all these platforms.
2022-02-01 17:23:07 +02:00
Slavi Pantaleev e295c90d0b
Merge pull request #1505 from HarHarLinks/hookshot
add matrix-hookshot
2022-02-01 13:45:48 +02:00
Slavi Pantaleev 4a4d718f7c Upgrade matrix-corporal (2.2.2 -> 2.2.3) and disable self-building on ARM32/ARM64
2.2.3 is the first container image tag that is available as a multi-arch image
with support for linux/amd64, linux/arm64/v8 (arm64) and linux/arm/v7 (arm32),
so self-building is no longer necessary on all these platforms.
2022-01-31 16:52:49 +02:00
HarHarLinks 39d9ef43e9 fixup! update hookshot config to generic hs variables 2022-01-30 19:32:09 +01:00
HarHarLinks 2a91a43b32 Merge remote-tracking branch 'origin/master' into hookshot 2022-01-30 17:50:50 +01:00
HarHarLinks 54d8d0ec38 simplify hookshot conditional for readability 2022-01-30 17:43:29 +01:00
HarHarLinks c264d670e8 update hookshot config to generic hs variables 2022-01-30 17:41:51 +01:00
Kim Brose 44ae8d3b92
refine etherpad in nginx wanted services condition 2022-01-23 14:28:11 +01:00
Kim Brose a9dd397771
add etherpad to nginx wanted services
it's required if enabled by the dimension config here:
6eb8fb8392/roles/matrix-etherpad/tasks/init.yml (L42-L49)

see also #1517
2022-01-22 18:59:16 +01:00
HarHarLinks 321ed9b609 Merge remote-tracking branch 'origin/master' into hookshot 2022-01-14 19:26:31 +01:00
HarHarLinks 08fe38cf40 add hookshot to nginx wanted services
related 0fb881deb5
2022-01-12 13:09:13 +01:00
HarHarLinks 224633df1d fix condition for matrix_hookshot_container_http_host_bind_ports 2022-01-12 01:31:46 +01:00
HarHarLinks 2b97ab9a51 fix matrix_hookshot_container_http_host_bind_ports 2022-01-12 01:22:54 +01:00
HarHarLinks 3a766d4ba5 proxy hookshot metrics when proxying synapse metrics
see also #1527
2022-01-11 22:39:57 +01:00
Slavi Pantaleev 0fb881deb5 Update the "wanted systemd services" list for matrix-nginx-proxy/matrix-grafana
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1517
2022-01-11 08:29:38 +02:00
HarHarLinks 87871040df add hookshot metrics to internal prometheus 2022-01-11 00:56:51 +01:00
HarHarLinks 1987cc4839 refine hookshot role 2022-01-11 00:19:29 +01:00
Aine a83b880f72
matrix-bot-honoroit: feedback 2022-01-09 18:49:41 +02:00
Aine 4377c348c5
matrix-bot-honoroit: disable self-build by default, update to v0.9.1 2022-01-09 17:46:47 +02:00
HarHarLinks e0f2aa9de8 refactor matrix_hookshot_container_http_host_bind_ports 2022-01-08 17:16:53 +01:00
Slavi Pantaleev 7b093c5ae0 Move some variables to a more appropriate location 2022-01-08 09:11:22 +02:00
Slavi Pantaleev 19b5a50805 Derive Honoroit database password from matrix_homeserver_generic_secret_key
Related to the work done in https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/818
2022-01-08 09:08:55 +02:00
Slavi Pantaleev 5c3c0d0d58 Set Dendrite's real_ip_header correctly 2022-01-07 16:00:51 +02:00
Slavi Pantaleev 05b4572fab Fix matrix_dimension_homeserver_federationUrl for Dendrite 2022-01-07 16:00:51 +02:00
Slavi Pantaleev de49cc5271 Fix matrix_registration_shared_secret for Dendrite 2022-01-07 16:00:51 +02:00
Slavi Pantaleev 593fc2fa85 Replace matrix-synapse.service references with more homeserver-neutral references 2022-01-07 16:00:51 +02:00
Slavi Pantaleev 38ad152c03 Add Dendrite-awareness to matrix_homeserver_container_url when matrix-nginx-proxy disabled 2022-01-07 16:00:51 +02:00
Slavi Pantaleev bbbfc0708f Derive matrix_coturn_turn_static_auth_secret from matrix_homeserver_generic_secret_key
Doing this further simplifies examples/vars.yml.
2022-01-07 16:00:51 +02:00
Slavi Pantaleev 965890bf75 Derive secrets from matrix_homeserver_generic_secret_key, not matrix_synapse_macaroon_secret_key
We're trying to move away from implementation-specific variables,
hoping for a clean (implementation-neutral) examples/vars.yml file.
2022-01-07 16:00:42 +02:00
Slavi Pantaleev 1dfe21944f Make matrix_homeserver_implementation influence matrix_IMPLEMENTATION_enabled, not the other way around
Doing this seems more reasonable and simpler.
2022-01-07 15:59:35 +02:00
Slavi Pantaleev 4139290cc9 Rename some variables for consistency 2022-01-07 15:59:35 +02:00
Slavi Pantaleev 32bbcf5ed6 Fix incorrect definition 2022-01-07 15:59:35 +02:00
Slavi Pantaleev 38ec546b8b Only trust own identity server in Dendrite config, if ma1sd enabled 2022-01-07 15:59:35 +02:00
Slavi Pantaleev ecc237bbad Initial work on getting nginx reverse proxying working with Dendrite 2022-01-07 15:59:35 +02:00
Slavi Pantaleev 3cf9f87097 Add matrix_homeserver_implementation, tracking the current homeserver implementation
The goal is to have a single variable which tells us which homeserver
software is in use. Much simpler than having if/elif/elif checks for
variables like (`matrix_synapse_enabled` and `matrix_dendrite_enabled`, etc.)
everywhere.
2022-01-07 15:59:35 +02:00
Slavi Pantaleev 5b148921a0 Upgrade Dendrite (0.3.11 -> 0.5.0) and update configuration
This brings dendrite.yaml up to date and cleans things up a bit.
2022-01-07 15:59:35 +02:00
Jip J. Dekker 07af05690c Add initial role for Dendrite as alternative Matrix server 2022-01-07 15:59:35 +02:00
rakshazi d9dd524db3
self-build consistency: rename vars everywhere 2022-01-07 12:18:45 +02:00
Slavi Pantaleev b0c801a497 Rename variable for consistency (matrix_bot_honoroit_container_self_build -> matrix_bot_honoroit_container_image_self_build)
Discussed in https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1514
2022-01-07 11:53:24 +02:00
rakshazi 407e8c4940
added honoroit 2022-01-06 20:30:10 +02:00
rakshazi 490f11ba0d
matrix-client-cinny: self_build feedback" 2022-01-06 09:11:28 +02:00
rakshazi 5788a16a2e
added matrix-client-cinny 2022-01-05 18:33:21 +02:00
HarHarLinks 621251c1e5 hookshot role groundwork 2022-01-03 21:25:03 +01:00
Slavi Pantaleev dcab14d9a8 Add self-building support to Beeper LinkedIn bridge
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1480

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1242
2021-12-23 13:04:09 +02:00
Shreyas Ajjarapu 25ced724ac
Update matrix_servers 2021-12-20 23:38:54 -06:00
Matthew Cengia 0f49ce0638 Set up vars for mautrix-twitter playbook
* Copy/update mautrix_facebook group_vars to mautrix_twitter
* Replace facebook -> twitter, fb -> twt, remove presence var
* Enable playbook in setup.yml
2021-12-14 22:36:23 +11:00
Slavi Pantaleev fc55df9318 Make some appservices reach the homeserver via nginx
This is useful when Synapse is using a worker setup. In that case,
we don't want appservices to connect to `matrix-synapse:8008`, because
not all APIs are exposed there.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1449
2021-12-10 08:29:57 +02:00