Compare commits

...

46 Commits

Author SHA1 Message Date
Suguru Hirahara
236210eae5
Merge a2445af6d0 into c97dd0b24f 2024-12-23 16:16:35 +01:00
Slavi Pantaleev
c97dd0b24f
Merge pull request #3901 from luixxiul/fix
Edit docs for obtaining an access token
2024-12-23 15:53:27 +02:00
Suguru Hirahara
66ea709cb3
Replace headers for sections about obtaining an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:18:36 +09:00
Suguru Hirahara
7911cdb232
Add a common warning message about not to share an access token
Based on docs/obtaining-access-tokens.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:18:08 +09:00
Suguru Hirahara
fb05eace5a
Edit instructions to obtain an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:17:10 +09:00
Suguru Hirahara
3ad2211d74
Use common instructions for referring to the documentation on obtaining an access token
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 18:15:41 +09:00
Slavi Pantaleev
11a90a4789 Move matrix-registration-bot's token comment inside the if statement 2024-12-23 09:02:58 +02:00
Slavi Pantaleev
d89e627a79 Move some matrix-registration-bot variables around 2024-12-23 09:00:44 +02:00
Slavi Pantaleev
4d39efe6f6 Rename variable (matrix_bot_matrix_registration_bot_matrix_homeserver_url -> matrix_bot_matrix_registration_bot_api_base_url)
We were overriding the `matrix_bot_matrix_registration_bot_matrix_homeserver_url` variable via `group_vars/matrix_servers`
to point it to the container-local homeserver URL, but this variable was not being used at all.

The actual variable name (which was being used) is `matrix_bot_matrix_registration_bot_api_base_url`.

Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3898
2024-12-23 08:59:24 +02:00
Slavi Pantaleev
358b3486f9 Group matrix-registration-bot's self-building tasks in a block 2024-12-23 08:56:08 +02:00
Slavi Pantaleev
47a337258c Only create docker-src directory for matrix-registration-bot when self building is enabled 2024-12-23 08:55:48 +02:00
Slavi Pantaleev
cea437c844 Expose mautrix-discord's avatar proxy
Possibly fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3900

This patch hasn't been tested.
2024-12-23 08:36:18 +02:00
Slavi Pantaleev
f1c238e732 Update mautrix-discord config to latest upstream sample and introduce a few new Ansible variables
Provoked by https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/3900
2024-12-23 08:20:56 +02:00
Slavi Pantaleev
6e3f508d20
Merge pull request #3899 from luixxiul/fix
Edit docs for bots: adopt the common format
2024-12-23 07:51:17 +02:00
Suguru Hirahara
069f1392e0
Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 13:11:49 +09:00
Suguru Hirahara
9a56aff933
Edit docs for bots: adopt the common format
- Add "To use the bot" if it does not exist: adopt the format of the docs for bridges
- Add "Prerequisites" section if an API key or user account is required
- Use the common instruction for getting an access token
- Replace "Get" with "Obtain" about getting keys or access tokens
- Replace placeholders for access tokens on docs/configuring-playbook-bot-go.neb.md

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-23 13:11:38 +09:00
Slavi Pantaleev
2337e62ecf
Merge pull request #3897 from spantaleev/renovate/urllib3-2.x
Update dependency urllib3 to v2.3.0
2024-12-22 13:25:47 +02:00
Slavi Pantaleev
59d9d2995c
Merge pull request #3896 from luixxiul/fix
Edit docs: consistent instructions to generate passphrases or secrets with pwgen
2024-12-22 13:25:22 +02:00
renovate[bot]
c5f4ea6850
Update dependency urllib3 to v2.3.0 2024-12-22 09:30:35 +00:00
Suguru Hirahara
f044bdd279
Update POT files
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 17:54:16 +09:00
Suguru Hirahara
6b87d1aa7d
Edit docs: consistent instructions to generate passphrases or secrets with pwgen
This commit replaces instructions to create passwords, passphrases, or secrets with common ones.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-22 17:53:14 +09:00
Suguru Hirahara
a2445af6d0
Setting up REUSE: fix REUSE.toml
*.repo files are computer-generated ane cannot be copyrighted.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 13:39:30 +09:00
Suguru Hirahara
460df3515a
Setting up REUSE: change license statement to CC0-1.0
Computer-generated files cannot be copyrighted, and .gitignore cannot be copyrighted as well.
Example: https://reuse.software/faq/#bulk-license

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:03:56 +09:00
Suguru Hirahara
40835eab06
Setting up REUSE: add a newline character to REUSE.toml
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:03:12 +09:00
Suguru Hirahara
20b3875158
Add GitHub Action "REUSE Compliance Check"
It is also possible to check compliance by running reuse as pre-commit hook, which does not depend on GitHub. See: https://reuse.readthedocs.io/en/stable/readme.html#run-as-pre-commit-hook

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:03:01 +09:00
Suguru Hirahara
6abe569213
Setting up REUSE: change copyright year to the initial publication - 2023
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:50 +09:00
Suguru Hirahara
25dfbdf1d7
Setting up REUSE: change copyright year to the initial publication - 2022
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:46 +09:00
Suguru Hirahara
b1af044278
Setting up REUSE: change copyright year to the initial publication - 2021
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:40 +09:00
Suguru Hirahara
b1faaa60ec
Setting up REUSE: change copyright year to the initial publication - 2020
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:36 +09:00
Suguru Hirahara
08e7f9431a
Setting up REUSE: change copyright year to the initial publication - 2019
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:32 +09:00
Suguru Hirahara
1a068d7966
Setting up REUSE: change copyright year to the initial publication - 2018
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:27 +09:00
Suguru Hirahara
ab30390bd4
Setting up REUSE: change copyright year to the initial publication - 2017
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:22 +09:00
Suguru Hirahara
35dcbdd4db
Setting up REUSE: edit REUSE.toml
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:17 +09:00
Suguru Hirahara
1cc2ff8a0e
Setting up REUSE: add copyright statements to j2 and md files in roles/custom/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:12 +09:00
Suguru Hirahara
8e63f12fbe
Setting up REUSE: add copyright statements to yml files in roles/custom/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:07 +09:00
Suguru Hirahara
c38400b7f7
Setting up REUSE: add copyright statements to files in group_vars/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:01:03 +09:00
Suguru Hirahara
3a1ea53739
Setting up REUSE: add copyright statements to files in examples/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:58 +09:00
Suguru Hirahara
b268a811d2
Setting up REUSE: add copyright statements to files in docs/
Note that files in docs/assets/ are managed with REUSE.toml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:54 +09:00
Suguru Hirahara
655d8e0e87
Setting up REUSE: add copyright statements to files in collections/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:49 +09:00
Suguru Hirahara
000790ad76
Setting up REUSE: add copyright statements to files in bin/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:44 +09:00
Suguru Hirahara
fb40cdf229
Setting up REUSE: add copyright statements to files in .config/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:40 +09:00
Suguru Hirahara
11a740d4aa
Setting up REUSE: add copyright statements to files in .github/
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:34 +09:00
Suguru Hirahara
1e2c1ede05
Setting up REUSE: add copyright statements to files on the root directory
flack.lock, flake.nix, and requirements.yml are taken care of with REUSE.toml

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:27 +09:00
Suguru Hirahara
a887bb0d87
Setting up REUSE: add copyright statements to files created by me
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:21 +09:00
Suguru Hirahara
c737ed0612
Setting up REUSE: add REUSE.toml
Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 05:00:12 +09:00
Suguru Hirahara
b84407f071
Setting up REUSE: add LICENSES directory and license
REUSE is an initiative by FSFE, which intends to make licensing easier with best practices to display legal information through comment headers on source files that can be easily human and machine readable. The REUSE tool (reuse) is available and makes the process of applying licenses to files and compliance checking much easier.

Signed-off-by: Suguru Hirahara <acioustick@noreply.codeberg.org>
2024-12-08 04:59:54 +09:00
926 changed files with 5127 additions and 296 deletions

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
use_default_rules: true

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2019 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
# This file is the top-most EditorConfig file
root = true

4
.envrc
View File

@ -1 +1,5 @@
# SPDX-FileCopyrightText: 2023 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
use flake

4
.gitattributes vendored
View File

@ -1 +1,5 @@
# SPDX-FileCopyrightText: 2023 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
* text=auto eol=lf

4
.github/FUNDING.yml vendored
View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2020 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
# These are supported funding model platforms

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Suguru Hirahara <acioustick@noreply.codeberg.org>
SPDX-License-Identifier: AGPL-3.0-or-later
-->
---
name: Bug report
about: Create a report to help us improve

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Suguru Hirahara <acioustick@noreply.codeberg.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
blank_issues_enabled: false
contact_links:

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Suguru Hirahara <acioustick@noreply.codeberg.org>
SPDX-License-Identifier: AGPL-3.0-or-later
-->
---
name: Feature request
about: Suggest an idea for this project

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 Suguru Hirahara <acioustick@noreply.codeberg.org>
SPDX-License-Identifier: AGPL-3.0-or-later
-->
---
name: I need help
about: Get support from our community

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
version: 2
updates:

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2024 Suguru Hirahara <acioustick@noreply.codeberg.org>
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
name: 'Close stale issues and PRs'
on: # yamllint disable-line rule:truthy

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
name: Matrix CI

20
.github/workflows/reuse.yml vendored Normal file
View File

@ -0,0 +1,20 @@
# SPDX-FileCopyrightText: 2022 Free Software Foundation Europe e.V. <https://fsfe.org>
#
# SPDX-License-Identifier: CC0-1.0
---
name: REUSE Compliance Check
on: # yamllint disable-line rule:truthy
push:
pull_request:
jobs:
reuse-compliance-check:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: REUSE Compliance Check
uses: fsfe/reuse-action@v5

4
.gitignore vendored
View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2017 MDAD Team and contributors
#
# SPDX-License-Identifier: CC0-1.0
/inventory
/roles/**/files/scratchpad
.DS_Store

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
extends: default

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# 2024-11-26
## (Backward Compatibility Break) Synapse now defaults to enabling authenticated media
@ -2192,7 +2198,7 @@ To migrate to the new setup, expect a few minutes of downtime, while you follow
1. We believe the steps below are safe and you won't encounter any data loss, but consider [making a Postgres backup](docs/maintenance-postgres.md#backing-up-postgresql) anyway. If you've never backed up Postgres, now would be a good time to try it.
2. Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can use `pwgen -s 64 1` to generate it, or some other tool. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!
2. Generate a strong password to be used for your superuser Postgres user (called `matrix`). You can create one with a command like `pwgen -s 64 1`. The **maximum length** for a Postgres password is 100 bytes (characters). Don't go crazy!
3. Update your playbook's `inventory/host_vars/matrix.example.com/vars.yml` file, adding a line like this:
```yaml

121
LICENSES/CC0-1.0.txt Normal file
View File

@ -0,0 +1,121 @@
Creative Commons Legal Code
CC0 1.0 Universal
CREATIVE COMMONS CORPORATION IS NOT A LAW FIRM AND DOES NOT PROVIDE
LEGAL SERVICES. DISTRIBUTION OF THIS DOCUMENT DOES NOT CREATE AN
ATTORNEY-CLIENT RELATIONSHIP. CREATIVE COMMONS PROVIDES THIS
INFORMATION ON AN "AS-IS" BASIS. CREATIVE COMMONS MAKES NO WARRANTIES
REGARDING THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS
PROVIDED HEREUNDER, AND DISCLAIMS LIABILITY FOR DAMAGES RESULTING FROM
THE USE OF THIS DOCUMENT OR THE INFORMATION OR WORKS PROVIDED
HEREUNDER.
Statement of Purpose
The laws of most jurisdictions throughout the world automatically confer
exclusive Copyright and Related Rights (defined below) upon the creator
and subsequent owner(s) (each and all, an "owner") of an original work of
authorship and/or a database (each, a "Work").
Certain owners wish to permanently relinquish those rights to a Work for
the purpose of contributing to a commons of creative, cultural and
scientific works ("Commons") that the public can reliably and without fear
of later claims of infringement build upon, modify, incorporate in other
works, reuse and redistribute as freely as possible in any form whatsoever
and for any purposes, including without limitation commercial purposes.
These owners may contribute to the Commons to promote the ideal of a free
culture and the further production of creative, cultural and scientific
works, or to gain reputation or greater distribution for their Work in
part through the use and efforts of others.
For these and/or other purposes and motivations, and without any
expectation of additional consideration or compensation, the person
associating CC0 with a Work (the "Affirmer"), to the extent that he or she
is an owner of Copyright and Related Rights in the Work, voluntarily
elects to apply CC0 to the Work and publicly distribute the Work under its
terms, with knowledge of his or her Copyright and Related Rights in the
Work and the meaning and intended legal effect of CC0 on those rights.
1. Copyright and Related Rights. A Work made available under CC0 may be
protected by copyright and related or neighboring rights ("Copyright and
Related Rights"). Copyright and Related Rights include, but are not
limited to, the following:
i. the right to reproduce, adapt, distribute, perform, display,
communicate, and translate a Work;
ii. moral rights retained by the original author(s) and/or performer(s);
iii. publicity and privacy rights pertaining to a person's image or
likeness depicted in a Work;
iv. rights protecting against unfair competition in regards to a Work,
subject to the limitations in paragraph 4(a), below;
v. rights protecting the extraction, dissemination, use and reuse of data
in a Work;
vi. database rights (such as those arising under Directive 96/9/EC of the
European Parliament and of the Council of 11 March 1996 on the legal
protection of databases, and under any national implementation
thereof, including any amended or successor version of such
directive); and
vii. other similar, equivalent or corresponding rights throughout the
world based on applicable law or treaty, and any national
implementations thereof.
2. Waiver. To the greatest extent permitted by, but not in contravention
of, applicable law, Affirmer hereby overtly, fully, permanently,
irrevocably and unconditionally waives, abandons, and surrenders all of
Affirmer's Copyright and Related Rights and associated claims and causes
of action, whether now known or unknown (including existing as well as
future claims and causes of action), in the Work (i) in all territories
worldwide, (ii) for the maximum duration provided by applicable law or
treaty (including future time extensions), (iii) in any current or future
medium and for any number of copies, and (iv) for any purpose whatsoever,
including without limitation commercial, advertising or promotional
purposes (the "Waiver"). Affirmer makes the Waiver for the benefit of each
member of the public at large and to the detriment of Affirmer's heirs and
successors, fully intending that such Waiver shall not be subject to
revocation, rescission, cancellation, termination, or any other legal or
equitable action to disrupt the quiet enjoyment of the Work by the public
as contemplated by Affirmer's express Statement of Purpose.
3. Public License Fallback. Should any part of the Waiver for any reason
be judged legally invalid or ineffective under applicable law, then the
Waiver shall be preserved to the maximum extent permitted taking into
account Affirmer's express Statement of Purpose. In addition, to the
extent the Waiver is so judged Affirmer hereby grants to each affected
person a royalty-free, non transferable, non sublicensable, non exclusive,
irrevocable and unconditional license to exercise Affirmer's Copyright and
Related Rights in the Work (i) in all territories worldwide, (ii) for the
maximum duration provided by applicable law or treaty (including future
time extensions), (iii) in any current or future medium and for any number
of copies, and (iv) for any purpose whatsoever, including without
limitation commercial, advertising or promotional purposes (the
"License"). The License shall be deemed effective as of the date CC0 was
applied by Affirmer to the Work. Should any part of the License for any
reason be judged legally invalid or ineffective under applicable law, such
partial invalidity or ineffectiveness shall not invalidate the remainder
of the License, and in such case Affirmer hereby affirms that he or she
will not (i) exercise any of his or her remaining Copyright and Related
Rights in the Work or (ii) assert any associated claims and causes of
action with respect to the Work, in either case contrary to Affirmer's
express Statement of Purpose.
4. Limitations and Disclaimers.
a. No trademark or patent rights held by Affirmer are waived, abandoned,
surrendered, licensed or otherwise affected by this document.
b. Affirmer offers the Work as-is and makes no representations or
warranties of any kind concerning the Work, express, implied,
statutory or otherwise, including without limitation warranties of
title, merchantability, fitness for a particular purpose, non
infringement, or the absence of latent or other defects, accuracy, or
the present or absence of errors, whether or not discoverable, all to
the greatest extent permissible under applicable law.
c. Affirmer disclaims responsibility for clearing rights of other persons
that may apply to the Work or any use thereof, including without
limitation any person's Copyright and Related Rights in the Work.
Further, Affirmer disclaims responsibility for obtaining any necessary
consents, permissions or other rights required for any use of the
Work.
d. Affirmer understands and acknowledges that Creative Commons is not a
party to this document and has no duty or obligation with respect to
this CC0 or use of the Work.

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2022 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
.PHONY: roles lint
help: ## Show this help.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2017 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
[![Support room on Matrix](https://img.shields.io/matrix/matrix-docker-ansible-deploy:devture.com.svg?label=%23matrix-docker-ansible-deploy%3Adevture.com&logo=matrix&style=for-the-badge&server_fqdn=matrix.devture.com)](https://matrix.to/#/#matrix-docker-ansible-deploy:devture.com) [![donate](https://liberapay.com/assets/widgets/donate.svg)](https://liberapay.com/s.pantaleev/donate)
# Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

39
REUSE.toml Normal file
View File

@ -0,0 +1,39 @@
# SPDX-FileCopyrightText: 2024 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
version = 1
[[annotations]]
path = "docs/assets/*"
SPDX-FileCopyrightText = "2024 MDAD Team and contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = "roles/custom/matrix-prometheus-nginxlog-exporter/examples/*.png"
SPDX-FileCopyrightText = "2024 MDAD Team and contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
[[annotations]]
path = "roles/custom/**/*.json"
SPDX-FileCopyrightText = "2024 MDAD Team and contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"
# Computer-generated files
[[annotations]]
path = [
".github/renovate.json",
"roles/custom/**/*.repo",
"flake.lock",
"flake.nix",
"requirements.yml",
]
SPDX-FileCopyrightText = "NONE"
SPDX-License-Identifier = "CC0-1.0"
# https://reuse.software/faq/#aggregate-info
[[annotations]]
path = ["i18n/**/*.po"]
precedence = "aggregate"
SPDX-FileCopyrightText = "2024 MDAD Team and contributors"
SPDX-License-Identifier = "AGPL-3.0-or-later"

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# 2023
2023 was a year filled with many changes for matrix-docker-ansible-deploy. In this post, we're looking backward at some of the major changes that happened this year, as well as taking a glimpse of what's ahead in 2024.

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2017 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
[defaults]
retry_files_enabled = False
stdout_callback = yaml

View File

@ -1,4 +1,9 @@
#!/usr/bin/env bash
# SPDX-FileCopyrightText: 2024 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
#
# Run the playbook on multiple hosts with different credentials with this script
# It defaults to ansible tags "setup-all,start". You can pass alternative tags

View File

@ -1,4 +1,9 @@
#!/bin/bash
# SPDX-FileCopyrightText: 2024 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
set -euxo pipefail
# This script rebuilds the mautrix-meta-instagram Ansible role, using the mautrix-meta-messenger role as a source.

View File

@ -1,3 +1,7 @@
# SPDX-FileCopyrightText: 2021 MDAD Team and contributors
#
# SPDX-License-Identifier: AGPL-3.0-or-later
---
collections:
- name: community.general

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Table of Contents
## ⬇️ Installaton guides <!-- NOTE: the 🚀 emoji is used by "Getting started" on README.md -->

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Alternative architectures
As stated in the [Prerequisites](prerequisites.md), currently only `amd64` (`x86_64`) is fully supported.

View File

@ -1,3 +1,8 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Running this playbook

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
(Adapted from the [upstream project](https://github.com/element-hq/synapse/blob/develop/docs/CAPTCHA_SETUP.md))
# Overview

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring your DNS settings
<sup>[Prerequisites](prerequisites.md) > Configuring your DNS settings > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md)</sup>

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Prometheus Alertmanager integration via matrix-alertmanager-receiver (optional)
The playbook can install and configure the [matrix-alertmanager-receiver](https://github.com/metio/matrix-alertmanager-receiver) service for you. It's a [client](https://prometheus.io/docs/alerting/latest/clients/) for Prometheus' [Alertmanager](https://prometheus.io/docs/alerting/latest/alertmanager/), allowing you to deliver alerts to Matrix rooms.
@ -14,7 +20,7 @@ This service uses a bot (with a username specified in `matrix_alertmanager_recei
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -22,10 +28,12 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.alertmanager.receiver password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
```
### Get an access token
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Join to rooms as the bot manually
**This bot does not accept room invitations automatically**. To deliver messages to rooms, the bot must be joined to all rooms manually.
@ -36,7 +44,7 @@ Then, log in as the bot using any Matrix client of your choosing, accept the roo
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml
matrix_alertmanager_receiver_enabled: true
@ -44,7 +52,6 @@ matrix_alertmanager_receiver_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_alertmanager_receiver_config_matrix_user_id_localpart: "bot.alertmanager.receiver"
# Specify the bot user's access token here.
matrix_alertmanager_receiver_config_matrix_access_token: "ACCESS_TOKEN_HERE"
# Optionally, configure some mappings (URL-friendly room name -> actual Matrix room ID).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Double Puppet (optional)
Appservice Double Puppet is a homeserver appservice through which bridges (and potentially other services) can impersonate any user on the homeserver.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Draupnir for All/D4A (optional)
The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation tool for you in appservice mode.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up BorgBackup (optional)
The playbook can install and configure [BorgBackup](https://www.borgbackup.org/) (short: Borg) with [borgmatic](https://torsion.org/borgmatic/) for you.
@ -60,7 +66,7 @@ where:
* USER - SSH user of a provider/server
* HOST - SSH host of a provider/server
* REPO - BorgBackup repository name, it will be initialized on backup start, eg: `matrix`, regarding Syntax see [Remote repositories](https://borgbackup.readthedocs.io/en/stable/usage/general.html#repository-urls)
* PASSPHRASE - passphrase used for encrypting backups, you may generate it with `pwgen -s 64 1` or use any password manager
* PASSPHRASE - passphrase used for encrypting backups. You can create one with a command like `pwgen -s 64 1`.
* PRIVATE KEY - the content of the **private** part of the SSH key you created before. The whole key (all of its belonging lines) under `backup_borg_ssh_key_private` needs to be indented with 2 spaces
To backup without encryption, add `backup_borg_encryption: 'none'` to your vars. This will also enable the `backup_borg_unknown_unencrypted_repo_access_is_ok` variable.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Serving the base domain (optional)
By default, this playbook sets up services on your Matrix server (`matrix.example.com`), but has it configured so that it presents itself as the base domain (`example.com`). To have this server officially be responsible for Matrix services for the base domain (`example.com`), you need to set up server delegation / redirection.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up baibot (optional)
<p align="center">
@ -30,7 +36,7 @@ Depending on your current `vars.yml` file and desired configuration, **you may r
### Base configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_baibot_enabled: true
@ -38,12 +44,12 @@ matrix_bot_baibot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_baibot_config_user_mxid_localpart: baibot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`.
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
# If you'd like to change this password subsequently, see the details below.
matrix_bot_baibot_config_user_password: 'PASSWORD_FOR_THE_BOT'
# An optional passphrase to use for backing up and recovering the bot's encryption keys.
# You can put any string here, but generating a strong one is preferred (e.g. `pwgen -s 64 1`).
# You can create one with a command like `pwgen -s 64 1`.
#
# If set to null, the recovery module will not be used and losing your session/database
# will mean you lose access to old messages in encrypted room.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Buscarron (optional)
The playbook can install and configure [Buscarron](https://github.com/etkecc/buscarron) for you.
@ -6,7 +12,7 @@ Buscarron is bot that receives HTTP POST submissions of web forms and forwards t
## Adjusting the playbook configuration
To enable Buscarron, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_buscarron_enabled: true
@ -14,7 +20,7 @@ matrix_bot_buscarron_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_buscarron_login: bot.buscarron
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_buscarron_password: PASSWORD_FOR_THE_BOT
# Adjust accepted forms

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-bot-chatgpt (optional, unmaintained)
**Note**: [matrix-chatgpt-bot](https://github.com/matrixgpt/matrix-chatgpt-bot) is now an archived (**unmaintained**) project. Talking to ChatGPT (and many other LLM providers) can happen via the much more featureful [baibot](https://github.com/etkecc/baibot), which can be installed using [this playbook](configuring-playbook-bot-baibot.md). Consider using that bot instead of this one.
@ -6,13 +12,17 @@ The playbook can install and configure [matrix-chatgpt-bot](https://github.com/m
Talk to [ChatGPT](https://openai.com/blog/chatgpt/) via your favourite Matrix client!
## Register the bot account
## Prerequisites
The playbook does not automatically create users for you. The bot requires an access token to be able to connect to your homeserver.
### Obtain an OpenAI API key
You **need to register the bot user manually** before setting up the bot.
To use the bot, you'd need to obtain an API key from [https://platform.openai.com/account/api-keys](https://platform.openai.com/account/api-keys).
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
### Register the bot account
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -20,37 +30,33 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.chatgpt password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
```
## Get an access token and create encryption keys
### Obtain an access token and create encryption keys
Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
To make sure the bot can read encrypted messages, it will need an encryption key, just like any other new user. While obtaining the access token, follow the prompts to setup a backup key. More information can be found in the [Element documentation](https://element.io/help#encryption6).
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `API_KEY_HERE` with the API key retrieved [here](#obtain-an-openai-api-key) and `ACCESS_TOKEN_HERE` with the access token created [here](#obtain-an-access-token-and-create-encryption-keys), respectively.
```yaml
matrix_bot_chatgpt_enabled: true
# Obtain a new API key from https://platform.openai.com/account/api-keys
matrix_bot_chatgpt_openai_api_key: ''
matrix_bot_chatgpt_openai_api_key: 'API_KEY_HERE'
# This is the default username
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_chatgpt_matrix_bot_username_localpart: 'bot.chatgpt'
# Matrix access token (from bot user above)
# see: https://webapps.stackexchange.com/questions/131056/how-to-get-an-access-token-for-element-riot-matrix
matrix_bot_chatgpt_matrix_access_token: ''
matrix_bot_chatgpt_matrix_access_token: 'ACCESS_TOKEN_HERE'
# Configuring the system promt used, needed if the bot is used for special tasks.
# More information: https://github.com/mustvlad/ChatGPT-System-Prompts
matrix_bot_chatgpt_matrix_bot_prompt_prefix: 'Instructions:\nYou are ChatGPT, a large language model trained by OpenAI.'
```
You will need to get tokens for ChatGPT.
## Installing
After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Draupnir (optional)
The playbook can install and configure the [Draupnir](https://github.com/the-draupnir-project/Draupnir) moderation bot for you.
@ -14,7 +20,7 @@ If your migrating from Mjolnir skip to [this section](#migrating-from-mjolnir-on
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -24,10 +30,12 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.draupni
If you would like Draupnir to be able to deactivate users, move aliases, shutdown rooms, show abuse reports (see [below](#abuse-reports)), etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above.
### Get an access token
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Make sure the account is free from rate limiting
If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a required step. If you do not configure it, Draupnir will crash.**
@ -64,7 +72,7 @@ Finally invite the `@bot.draupnir:example.com` account you created earlier into
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
```yaml
# Enable Draupnir
@ -113,7 +121,7 @@ matrix_bot_draupnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_
When NOT using Pantalaimon, Draupnir does not log in by itself and you must give it an access token for its bot account.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml
matrix_bot_draupnir_access_token: "ACCESS_TOKEN_HERE"

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Go-NEB (optional, unmaintained)
**Note**: [Go-NEB](https://github.com/matrix-org/go-neb) is now an archived (**unmaintained**) project. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bot instead of this one.
@ -8,13 +14,13 @@ Go-NEB is a Matrix bot written in Go. It is the successor to Matrix-NEB, the ori
See the project's [documentation](https://github.com/matrix-org/go-neb/blob/master/README.md) to learn what it does and why it might be useful to you.
## Registering the bot account
## Prerequisites
The playbook does not automatically create users for you. The bot requires at least 1 access token to be able to connect to your homeserver.
### Register the bot account
You **need to register the bot user manually** before setting up the bot.
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -22,11 +28,15 @@ You can use the playbook to [register a new user](registering-users.md):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.go-neb password=PASSWORD_FOR_THE_BOT admin=no' --tags=register-user
```
Once the user is created you can [obtain an access token](obtaining-access-tokens.md).
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Adjusting the playbook configuration
To enable Go-NEB, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_FOR_GONEB_HERE` and `ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE` with the ones created [above](#obtain-an-access-token).
```yaml
matrix_bot_go_neb_enabled: true
@ -35,7 +45,7 @@ matrix_bot_go_neb_enabled: true
# Use the access token you obtained in the step above.
matrix_bot_go_neb_clients:
- UserID: "@goneb:{{ matrix_domain }}"
AccessToken: "MDASDASJDIASDJASDAFGFRGER"
AccessToken: "ACCESS_TOKEN_FOR_GONEB_HERE"
DeviceID: "DEVICE1"
HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}"
Sync: true
@ -44,7 +54,7 @@ matrix_bot_go_neb_clients:
AcceptVerificationFromUsers: [":{{ matrix_domain }}"]
- UserID: "@another_goneb:{{ matrix_domain }}"
AccessToken: "MDASDASJDIASDJASDAFGFRGER"
AccessToken: "ACCESS_TOKEN_FOR_ANOTHER_GONEB_HERE"
DeviceID: "DEVICE2"
HomeserverURL: "{{ matrix_addons_homeserver_client_api_url }}"
Sync: false
@ -105,7 +115,7 @@ matrix_bot_go_neb_services:
api_key: "AIzaSyA4FD39m9"
cx: "AIASDFWSRRtrtr"
# Get a key via https://api.imgur.com/oauth2/addclient
# Obtain a key via https://api.imgur.com/oauth2/addclient
# Select "oauth2 without callback url"
- ID: "imgur_service"
Type: "imgur"

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Honoroit (optional)
The playbook can install and configure [Honoroit](https://github.com/etkecc/honoroit) for you.
@ -8,7 +14,7 @@ See the project's [documentation](https://github.com/etkecc/honoroit/blob/main/R
## Adjusting the playbook configuration
To enable Honoroit, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_honoroit_enabled: true
@ -16,7 +22,7 @@ matrix_bot_honoroit_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_honoroit_login: honoroit
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_honoroit_password: PASSWORD_FOR_THE_BOT
# Adjust this to your room ID

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-registration-bot (optional)
The playbook can install and configure [matrix-registration-bot](https://github.com/moan0s/matrix-registration-bot) for you.
@ -6,7 +12,7 @@ The bot allows you to easily **create and manage registration tokens** aka. invi
See the project's [documentation](https://github.com/moan0s/matrix-registration-bot/blob/master/README.md) to learn what it does and why it might be useful to you.
## Configuration
## Adjusting the playbook configuration
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
@ -17,7 +23,7 @@ matrix_bot_matrix_registration_bot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_registration_bot_matrix_user_id_localpart: bot.matrix-registration-bot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_matrix_registration_bot_bot_password: PASSWORD_FOR_THE_BOT
# Enables registration

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-reminder-bot (optional)
The playbook can install and configure [matrix-reminder-bot](https://github.com/anoadragon453/matrix-reminder-bot) for you.
@ -8,7 +14,7 @@ See the project's [documentation](https://github.com/anoadragon453/matrix-remind
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_matrix_reminder_bot_enabled: true
@ -16,7 +22,7 @@ matrix_bot_matrix_reminder_bot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_matrix_reminder_bot_matrix_user_id_localpart: bot.matrix-reminder-bot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_matrix_reminder_bot_matrix_user_password: PASSWORD_FOR_THE_BOT
# Adjust this to your timezone

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up maubot (optional)
The playbook can install and configure [maubot](https://github.com/maubot/maubot) for you.
@ -8,7 +14,7 @@ See the project's [documentation](https://docs.mau.fi/maubot/usage/basic.html) t
## Adjusting the playbook configuration
To enable maubot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:
```yaml
matrix_bot_maubot_enabled: true
@ -16,7 +22,7 @@ matrix_bot_maubot_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_bot_maubot_login: bot.maubot
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_bot_maubot_initial_password: PASSWORD_FOR_THE_BOT
matrix_bot_maubot_admins:
@ -75,8 +81,10 @@ You should start in the following order
2. **Upload some Plugins**: Plugins can be obtained from [here](https://github.com/maubot/maubot#plugins) or any other source.
3. **Create an instance**: An instance is the actual bot. You have to specify a client which the bot instance will use and the plugin (how the bot will behave)
## Obtaining an access token
## Obtain an access token
This can be done via `mbc login` then `mbc auth` (see the [maubot documentation](https://docs.mau.fi/maubot/usage/cli/auth.html)). To run these commands, you'll first need to `exec` into the maubot container with `docker exec -it matrix-bot-maubot sh`.
Alternatively, you can follow our generic [obtain an access token](obtaining-access-tokens.md) documentation. Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will give your bot issues in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients).
Alternatively, you can refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md). Be aware that you'd better use the **Obtain an access token via curl** method (not **Obtain an access token via Element Web**) as the latter will causes issues to your bot in encrypted rooms. Read [more](https://docs.mau.fi/maubot/usage/basic.html#creating-clients).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mjolnir (optional)
The playbook can install and configure the [Mjolnir](https://github.com/matrix-org/mjolnir) moderation bot for you.
@ -10,7 +16,7 @@ See the project's [documentation](https://github.com/matrix-org/mjolnir/blob/mai
The playbook does not automatically create users for you. You **need to register the bot user manually** before setting up the bot.
Choose a strong password for the bot. You can generate a good password with a command like this: `pwgen -s 64 1`.
Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
You can use the playbook to [register a new user](registering-users.md):
@ -20,10 +26,12 @@ ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=bot.mjolnir
If you would like Mjolnir to be able to deactivate users, move aliases, shutdown rooms, etc then it must be a server admin so you need to change `admin=no` to `admin=yes` in the command above.
### Get an access token
### Obtain an access token
The bot requires an access token to be able to connect to your homeserver. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
### Make sure the account is free from rate limiting
If your homeserver's implementation is Synapse, you will need to prevent it from rate limiting the bot's account. **This is a required step. If you do not configure it, Mjolnir will crash.**
@ -60,7 +68,7 @@ Finally invite the `@bot.mjolnir:example.com` account you created earlier into t
## Adjusting the playbook configuration
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
To enable the bot, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `MANAGEMENT_ROOM_ID_HERE`.
```yaml
# Enable Mjolnir
@ -109,7 +117,7 @@ matrix_bot_mjolnir_raw_homeserver_url: "{{ matrix_addons_homeserver_client_api_u
When NOT using Pantalaimon, Mjolnir does not log in by itself and you must give it an access token for its bot account.
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#get-an-access-token).
Add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file. Make sure to replace `ACCESS_TOKEN_HERE` with the one created [above](#obtain-an-access-token).
```yaml
matrix_bot_mjolnir_access_token: "ACCESS_TOKEN_HERE"

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Discord bridging (optional)
**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice IRC bridging (optional)
**Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [Heisenbridge](configuring-playbook-bridge-heisenbridge.md) bridge supported by the playbook.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Kakaotalk bridging (optional)
The playbook can install and configure [matrix-appservice-kakaotalk](https://src.miscworks.net/fair/matrix-appservice-kakaotalk) for you. `matrix-appservice-kakaotalk` is a bridge to [Kakaotalk](https://www.kakaocorp.com/page/service/service/KakaoTalk?lang=ENG) based on [node-kakao](https://github.com/storycraft/node-kakao) (now unmaintained) and some [mautrix-facebook](https://github.com/mautrix/facebook) code.
@ -70,7 +76,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Slack bridging (optional)
**Notes**:

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Appservice Webhooks bridging (optional, deprecated)
**Note**: This bridge has been deprecated. We recommend not bothering with installing it. While not a 1:1 replacement, the bridge's author suggests taking a look at [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) as a replacement, which can also be installed using [this playbook](configuring-playbook-bridge-hookshot.md). Consider using that bridge instead of this one.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Beeper Linkedin bridging (optional)
The playbook can install and configure [beeper-linkedin](https://github.com/beeper/linkedin) for you, for bridging to [LinkedIn](https://www.linkedin.com/) Messaging. This bridge is based on the mautrix-python framework and can be configured in a similar way to the other mautrix bridges

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Go Skype Bridge bridging (optional)
The playbook can install and configure [go-skype-bridge](https://github.com/kelaresg/go-skype-bridge) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Heisenbridge bouncer-style IRC bridging (optional)
**Note**: bridging to [IRC](https://en.wikipedia.org/wiki/Internet_Relay_Chat) can also happen via the [matrix-appservice-irc](configuring-playbook-bridge-appservice-irc.md) bridge supported by the playbook.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-hookshot (optional)
The playbook can install and configure [matrix-hookshot](https://github.com/matrix-org/matrix-hookshot) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Matrix SMS bridging (optional)
The playbook can install and configure [matrix-sms-bridge](https://github.com/benkuly/matrix-sms-bridge) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Discord bridging (optional)
**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [mx-puppet-discord](configuring-playbook-bridge-mx-puppet-discord.md) and [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md) bridges supported by the playbook.
@ -101,7 +107,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Facebook bridging (optional, deprecated)
**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-messenger.md). Consider using that bridge instead of this one.
@ -96,7 +102,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Google Messages bridging (optional)
The playbook can install and configure [mautrix-gmessages](https://github.com/mautrix/gmessages) for you, for bridging to [Google Messages](https://messages.google.com/).
@ -55,7 +61,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Google Chat bridging (optional)
The playbook can install and configure [mautrix-googlechat](https://github.com/mautrix/googlechat) for you.
@ -65,7 +71,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Hangouts bridging (optional, deprecated)
💡 **Note**: This bridge has been deprecated in favor of [Google Chat bridge](https://github.com/mautrix/googlechat), which can be installed using [this playbook](configuring-playbook-bridge-mautrix-googlechat.md). Installing the mautrix-hangouts bridge is **no longer possible**. For now, this documentation page remains here for historical purposes.
@ -65,7 +71,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Instagram bridging (optional, deprecated)
**Note**: This bridge has been deprecated in favor of the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge, which can be installed using [this playbook](configuring-playbook-bridge-mautrix-meta-instagram.md). Consider using that bridge instead of this one.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Instagram bridging via Mautrix Meta (optional)
The playbook can install and configure the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge for you.
@ -104,7 +110,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Messenger bridging via Mautrix Meta (optional)
The playbook can install and configure the [mautrix-meta](https://github.com/mautrix/meta) Messenger/Instagram bridge for you.
@ -121,7 +127,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Signal bridging (optional)
The playbook can install and configure [mautrix-signal](https://github.com/mautrix/signal) for you.
@ -106,7 +112,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Slack bridging (optional)
**Note**: bridging to [Slack](https://slack.com/) can also happen via the [mx-puppet-slack](configuring-playbook-bridge-mx-puppet-slack.md) and [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) bridges supported by the playbook.
@ -82,7 +88,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Telegram bridging (optional)
The playbook can install and configure [mautrix-telegram](https://github.com/mautrix/telegram) for you.
@ -88,7 +94,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send `login-matrix` to the bot and follow instructions about how to send the access token to it

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Twitter bridging (optional)
**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mx-puppet-twitter](configuring-playbook-bridge-mx-puppet-twitter.md) bridge supported by the playbook.
@ -62,7 +68,7 @@ This is the recommended way of setting up Double Puppeting, as it's easier to ac
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix Whatsapp bridging (optional)
The playbook can install and configure [mautrix-whatsapp](https://github.com/mautrix/whatsapp) for you.
@ -73,7 +79,7 @@ Enabling double puppeting by enabling the [Shared Secret Auth](configuring-playb
When using this method, **each user** that wishes to enable Double Puppeting needs to follow the following steps:
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to do that](obtaining-access-tokens.md).
- retrieve a Matrix access token for yourself. Refer to the documentation on [how to obtain one](obtaining-access-tokens.md).
- send the access token to the bot. Example: `login-matrix MATRIX_ACCESS_TOKEN_HERE`

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Mautrix wsproxy for bridging Android SMS or Apple iMessage (optional)
The playbook can install and configure [mautrix-wsproxy](https://github.com/mautrix/wsproxy) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Discord bridging (optional)
**Note**: bridging to [Discord](https://discordapp.com/) can also happen via the [matrix-appservice-discord](configuring-playbook-bridge-appservice-discord.md)and [mautrix-discord](configuring-playbook-bridge-mautrix-discord.md) bridges supported by the playbook.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet GroupMe bridging (optional)
The playbook can install and configure [mx-puppet-groupme](https://gitlab.com/xangelix-pub/matrix/mx-puppet-groupme) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Instagram bridging (optional)
The playbook can install and configure [mx-puppet-instagram](https://github.com/Sorunome/mx-puppet-instagram) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Skype bridging (optional, removed)
The playbook used to be able to install and configure [mx-puppet-skype](https://github.com/Sorunome/mx-puppet-skype), but no longer includes this component, because it has been broken and unmaintained for a long time.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Slack bridging (optional)
**Note**: bridging to [Slack](https://slack.com) can also happen via the [matrix-appservice-slack](configuring-playbook-bridge-appservice-slack.md) and [mautrix-slack](configuring-playbook-bridge-mautrix-slack.md) bridges supported by the playbook. Note that `matrix-appservice-slack` is not available for new installation unless you have already created a classic Slack application, because the creation of classic Slack applications, which this bridge makes use of, has been discontinued.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Steam bridging (optional)
The playbook can install and configure [mx-puppet-steam](https://github.com/icewind1991/mx-puppet-steam) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up MX Puppet Twitter bridging (optional)
**Note**: bridging to [Twitter](https://twitter.com/) can also happen via the [mautrix-twitter](configuring-playbook-bridge-mautrix-twitter.md) bridge supported by the playbook.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Postmoogle email bridging (optional)
**Note**: email bridging can also happen via the [email2matrix](configuring-playbook-email2matrix.md) bridge supported by the playbook.
@ -29,7 +35,7 @@ matrix_postmoogle_enabled: true
# Uncomment and adjust this part if you'd like to use a username different than the default
# matrix_postmoogle_login: postmoogle
# Generate a strong password here. Consider generating it with `pwgen -s 64 1`
# Generate a strong password for the bot. You can create one with a command like `pwgen -s 64 1`.
matrix_postmoogle_password: PASSWORD_FOR_THE_BOT
# Uncomment to add one or more admins to this bridge:

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up WeChat bridging (optional)
The playbook can install and configure the [matrix-wechat](https://github.com/duo/matrix-wechat) bridge for you (for bridging to the [WeChat](https://www.wechat.com/) network).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Cactus Comments (optional)
The playbook can install and configure the [Cactus Comments](https://cactus.chat) system for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Cinny (optional)
This playbook can install the [Cinny](https://github.com/ajbura/cinny) Matrix web client for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Element Web (optional)
By default, this playbook installs the [Element Web](https://github.com/element-hq/element-web) Matrix client for you. If that's okay, you can skip this document.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Hydrogen (optional)
This playbook can install the [Hydrogen](https://github.com/element-hq/hydrogen-web) Matrix web client for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up SchildiChat Web (optional)
This playbook can install the [SchildiChat Web](https://github.com/SchildiChat/schildichat-desktop) Matrix client for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Conduit (optional)
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Conduit](https://conduit.rs).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Configuring Dendrite (optional)
By default, this playbook configures the [Synapse](https://github.com/element-hq/synapse) Matrix server, but you can also use [Dendrite](https://github.com/matrix-org/dendrite).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Dimension integration manager (optional, unmaintained)
**[Dimension](https://dimension.t2bot.io) can only be installed after Matrix services are installed and running.** If you're just installing Matrix services for the first time, please continue with the [Configuration](configuring-playbook.md) / [Installation](installing.md) flow and come back here later.
@ -26,13 +32,13 @@ matrix_dimension_admins:
The admin interface is accessible within Element Web by accessing it in any room and clicking the cog wheel/settings icon in the top right. Currently, Dimension can be opened in Element Web by the "Add widgets, bridges, & bots" link in the room information.
### Access token
### Obtain an access token
We recommend that you create a dedicated Matrix user for Dimension (`dimension` is a good username). Follow our [Registering users](registering-users.md) guide to learn how to register **a regular (non-admin) user**.
You are required to specify an access token (belonging to this new user) for Dimension to work. To get an access token for the Dimension user, you can follow the documentation on [how to do obtain an access token](obtaining-access-tokens.md).
You are required to specify an access token (belonging to this new user) for Dimension to work. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
**Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.**
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
Add access token to your configuration file (`inventory/host_vars/matrix.example.com/vars.yml`):

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Dynamic DNS (optional)
The playbook can configure Dynamic DNS with [ddclient](https://github.com/ddclient/ddclient) for you. It is a Perl client used to update dynamic DNS entries for accounts on Dynamic DNS Network Service Provider.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Adjusting email-sending settings (optional)
By default, this playbook sets up an [Exim](https://www.exim.org/) email server through which all Matrix services send emails.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2019 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Email2Matrix (optional)
**Note**: email bridging can also happen via the [Postmoogle](configuring-playbook-bridge-postmoogle.md) bridge supported by the playbook. Postmoogle is much more powerful and easier to use, so we recommend that you use it, instead of Email2Matrix.
@ -38,10 +44,12 @@ Inviting additional people to the room is okay too.
Take note of each room's room ID (different clients show the room ID in a different place). You'll need the room ID when [configuring the playbook](#adjusting-the-playbook-configuration) below.
### Obtaining an access token for the sender user
### Obtain an access token for the sender user
In order for the sender user created above to be able to send messages to the room, we'll need to obtain an access token for it. Refer to the documentation on [how to obtain an access token](obtaining-access-tokens.md).
⚠️ **Warning**: Access tokens are sensitive information. Do not include them in any bug reports, messages, or logs. Do not share the access token with anyone.
## Adjusting the playbook configuration
After doing the preparation steps above, add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file (adapt to your needs):

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2021 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Etherpad (optional)
[Etherpad](https://etherpad.org) is an open source collaborative text editor that can be embedded in a Matrix chat room using the [Dimension integration manager](https://dimension.t2bot.io) or used as standalone web app.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Using an external PostgreSQL server (optional)
By default, this playbook would set up a PostgreSQL database server on your machine, running in a Docker container. If that's okay, you can skip this document.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Controlling Matrix federation (optional)
By default, your server federates with the whole Matrix network. That is, people on your server can communicate with people on any other Matrix server.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up the Jitsi video-conferencing platform (optional)
The playbook can install the [Jitsi](https://jitsi.org/) video-conferencing platform and integrate it with Element clients ([Element Web](configuring-playbook-client-element-web.md)/Desktop, Android and iOS).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up the LDAP authentication password provider module (optional, advanced)
The playbook can install and configure the [matrix-synapse-ldap3](https://github.com/matrix-org/matrix-synapse-ldap3) LDAP Auth password provider for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up ma1sd Identity Server (optional)
**⚠Note**: ma1sd itself has also been unmaintained for years (the latest commit and release being from 2021). The role of identity servers in the Matrix specification also has an uncertain future. **We recommend not bothering with installing it unless it's the only way you can do what you need to do**. For example, certain things like LDAP integration can also be implemented via [the LDAP provider module for Synapse](./configuring-playbook-ldap-auth.md).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2024 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Matrix Authentication Service (optional)
This playbook can install and configure [Matrix Authentication Service](https://github.com/element-hq/matrix-authentication-service/) (MAS) - a service operating alongside your existing [Synapse](./configuring-playbook-synapse.md) homeserver and providing [better authentication, session management and permissions in Matrix](https://matrix.org/blog/2023/09/better-auth/).

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2018 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up Matrix Corporal (optional, advanced)
<hr/>

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2022 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-ldap-registration-proxy (optional)
The playbook can install and configure [matrix-ldap-registration-proxy](https://gitlab.com/activism.international/matrix_ldap_registration_proxy) for you.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2023 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Storing Matrix media files using matrix-media-repo (optional)
[matrix-media-repo](https://docs.t2bot.io/matrix-media-repo/) (often abbreviated "MMR") is a highly customizable multi-domain media repository for Matrix. Intended for medium to large environments consisting of several homeservers, this media repo de-duplicates media (including remote media) while being fully compliant with the specification.

View File

@ -1,3 +1,9 @@
<!--
SPDX-FileCopyrightText: 2020 MDAD Team and contributors
SPDX-License-Identifier: AGPL-3.0-or-later
-->
# Setting up matrix-registration (optional)
The playbook can install and configure [matrix-registration](https://github.com/ZerataX/matrix-registration) for you.
@ -23,7 +29,7 @@ To enable matrix-registration, add the following configuration to your `inventor
```yaml
matrix_registration_enabled: true
# Generate a strong secret here. Consider generating it with `pwgen -s 64 1`
# Generate a strong secret here. You can create one with a command like `pwgen -s 64 1`.
matrix_registration_admin_secret: "ENTER_SOME_SECRET_HERE"
```

Some files were not shown because too many files have changed in this diff Show More