1
0
mirror of https://github.com/spantaleev/matrix-docker-ansible-deploy.git synced 2024-12-12 08:43:55 +02:00
Commit Graph

108 Commits

Author SHA1 Message Date
Slavi Pantaleev
c3a7237de7 Initial work on using externally defined roles 2022-11-04 14:58:28 +02:00
Slavi Pantaleev
410a915a8a Move roles/matrix* to roles/custom/matrix*
This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`,
similar to how it's done in:

- https://github.com/spantaleev/gitea-docker-ansible-deploy
- https://github.com/spantaleev/nextcloud-docker-ansible-deploy

In the near future, we'll be removing a lot of the shared role code from here
and using upstream roles for it. Some of the core `matrix-*` roles have
already been extracted out into other reusable roles:

- https://github.com/devture/com.devture.ansible.role.postgres
- https://github.com/devture/com.devture.ansible.role.systemd_docker_base
- https://github.com/devture/com.devture.ansible.role.timesync
- https://github.com/devture/com.devture.ansible.role.vars_preserver
- https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages
- https://github.com/devture/com.devture.ansible.role.playbook_help

We just need to migrate to those.
2022-11-03 09:11:29 +02:00
Slavi Pantaleev
c3dc64b1d5 Add matrix-user-creator role - automatic user account creation support
We no longer ask users to create Matrix user accounts for these bots:

- Postmoogle
- Honoroit
- Reminder Bot

Other bots and services (matrix-registration-bot, maubot, mjolnir,
Dimension, etc.) require an Access Token to run (not a password),
so this new role doesn't help for them.

It does help for the above bots though, and for defining your own
"initial user accounts" in the `matrix_user_creator_users_additional`
variable.
2022-11-01 16:22:58 +02:00
Julian-Samuel Gebühr
d33a668e65 Add role to setup.yml 2022-09-13 16:39:15 +00:00
Julian-Samuel Gebühr
5825a0c919
Cactus comments (#2089)
* Add construct for cactus comments role

* Adjust config files

* Add docker self build to defaults

* Adjust tasks

* Fix smaller syntax errors

* Fix env argument

* Add tmp path to allow container writing there

Background why I did this: https://docs.gunicorn.org/en/stable/settings.html#worker-tmp-dir

* Change port back to 5000 as not configurable in container

* Try to add appservice config file for synapse to use

* Inject appservice file

* Correct copied variable name

* Comment out unused app service file injection

would need mounting the appservice file to the synapse container i guess

* Move role before synapse to be able to inject during runtime

* Remove unused parts

* Change default user id to mirror official docs

* Add docs

* Update roles/matrix-cactus-comments/tasks/setup_install.yml

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Update roles/matrix-cactus-comments/templates/cactus_appservice.yaml.j2

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Generate secrets if necessary, adjust docs

* Rename cactusbot userid

* Shorten salt strings

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Use tmpfs instead of persistent mount

* Remove proxy option as it is nonsense

* Add download and serving of cc-client files

* Add documentation on client

* Clarify docs a bit

* Add nginx proxy to required services

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Use container address

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Correct comment of user id

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Use releases or local distributed client

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Move homeserver url to defaults

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Correct truth value

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Add documentation of variables

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Tabs vs. spaces

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Make nginx root configurable

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Complete ake nginx root configurable

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Fix file permission

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Fix lint errors

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-09-09 14:37:52 +03:00
Slavi Pantaleev
447b9313d7
Merge pull request #2043 from etkecc/add-postmoogle
add postmoogle
2022-08-23 13:58:39 +03:00
Aine
9c2a8addee
add postmoogle 2022-08-22 20:10:35 +03:00
Slavi Pantaleev
04f224e634
Merge branch 'master' into conduit 2022-08-09 10:46:03 +03:00
Charles Wright
20767b5149 Fixes to enable Conduit in setup-all 2022-08-04 14:35:41 -05:00
Slavi Pantaleev
429d0b323b
Merge pull request #1974 from MdotAmaan/master
Add Mautrix Discord Bridge
2022-07-29 08:05:52 +03:00
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
e94ec75e1a Remove matrix-bridge-mx-puppet-skype role 2022-07-14 18:09:19 +03: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
Julian-Samuel Gebühr
4d40b61a51 Fix config error, add nginx 2022-06-24 11:50:52 +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
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
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
PC-Admin
ab3e02c7fd Remove matrix-awx sections 2022-04-09 08:48:02 +08: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
HarHarLinks
321ed9b609 Merge remote-tracking branch 'origin/master' into hookshot 2022-01-14 19:26:31 +01:00
HarHarLinks
495bfedc0d refine hookshot role using --test 2022-01-08 16:53:48 +01:00
Jip J. Dekker
07af05690c Add initial role for Dendrite as alternative Matrix server 2022-01-07 15:59:35 +02:00
rakshazi
407e8c4940
added honoroit 2022-01-06 20:30:10 +02:00
rakshazi
5788a16a2e
added matrix-client-cinny 2022-01-05 18:33:21 +02: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
Luke
1dac525e63 Added Mautrix Google Chat 2021-10-12 11:45:04 +00:00
Michael Collins
ca705cf9dd Merge remote-tracking branch 'upstream/master' into testing 2021-09-04 14:24:13 +08:00
Alexandar Mechev
b13cf1871f add code for LinkedIn Bridge 2021-08-21 17:32:45 +02:00
Michael Collins
d93b2109f4 ehh? 2021-08-18 06:25:49 +08:00
Michael Collins
50441346d3 herp 2021-08-17 16:12:16 +08:00
Michael Collins
41c335b967 merge upstream 2021-08-17 13:20:39 +08:00
Michael Collins
8c17a65e55 testing 2 2021-08-16 15:56:27 +08:00
Michael Collins
8504ad2228 change for testing 2021-08-16 15:31:34 +08:00
Michael Collins
ea4af65ceb herp 2021-08-16 15:20:32 +08:00
Michael Collins
5d77e76e77 comment to trigger update 2021-08-16 14:07:31 +08:00
Michael Collins
59b61f6cc2 revert to previous version 2021-08-15 18:33:29 +08:00
Michael Collins
53384b5a97 add comment 2 2021-08-15 12:58:17 +08:00
Michael Collins
7491508d63 add comment 2021-08-14 21:12:47 +08:00
Michael Collins
98e6cd685d sync with previous repo 2021-08-13 16:05:57 +08:00
Raymond Coetzee
4e2780ff88 Add support for a prometheus postgres exporter
This commit introduces a new role that downloads and installs the
prometheus community postgres exporter  https://github.com/prometheus-community/postgres_exporter.
A new credential is added to matrix_postgres_additional_databases that
allows the exporter access to the database to gather statistics.
A new dashboard was added to the grafana role, with some refactoring
to enable the dashboard only if the new role is enabled.
I've included some basic instructions for how to enable the role in
the Docs section.

In terms of testing, I've tested enabling the role, and disabling
it to make sure it cleans up the container and systemd role.
2021-05-27 20:13:29 +01:00
Aaron Raimist
04548f8df2
Merge branch 'master' into hydrogen 2021-05-21 04:09:18 -05:00
Toni Spets
544915ff76 Add Heisenbridge 2021-05-19 10:42:21 +03:00
Aaron Raimist
ca361af616
Add Hydrogen 2021-05-15 04:23:36 -05:00