Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker
Go to file
Slavi Pantaleev 2473cd655b Include ensure_openssl_installed and ensure_fuse_installed utils in a more reliable way
This fixes a regression since the change done in c1c152f7ac.
When another role (say `matrix-jitsi`) included `roles/custom/matrix-base/tasks/util/ensure_openssl_installed.yml`,
which then included `{{ role_path }}/tasks/util/ensure_openssl_installed_DISTRO.yml`,
that `role_path` variable would end up being the parent role
(`matrix-jitsi`) and not the `matrix-base` role, so we'd get a failure.

An alternative solution may have been to avoid using `role_path`, but
importing roles properly (like we've done in this patch) sounds like a better way.

Unfortunately, `import_role` fails if `tasks_from` is something like
`util/ensure_openssl_installed` (containing a `/`), so I had to move
these utils out of `util/`.

Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2228
2022-11-05 09:18:58 +02:00
.config Fix some ansible-lint-reported warnings 2022-09-27 11:38:33 +03:00
.github Bump frenck/action-yamllint from 1.2.0 to 1.3.0 2022-09-14 17:19:47 +00:00
collections fix: all praise the allmighty yamllinter 2022-02-05 21:32:54 +01:00
docs Document make roles some more 2022-11-05 07:10:04 +02:00
examples Move roles/matrix* to roles/custom/matrix* 2022-11-03 09:11:29 +02:00
group_vars Install ntpd/systemd-timesync via com.devture.ansible.role.timesync 2022-11-04 16:34:23 +02:00
inventory run the playbook on multiple hosts with different credentials (#1980) 2022-07-26 16:34:55 +03:00
roles/custom Include ensure_openssl_installed and ensure_fuse_installed utils in a more reliable way 2022-11-05 09:18:58 +02:00
.editorconfig
.gitignore Adjust .gitignore 2022-11-03 09:16:54 +02:00
.yamllint remove old workers.yml (already saved into main.yml) 2022-11-04 19:02:24 +02:00
ansible.cfg
CHANGELOG.md Document make roles some more 2022-11-05 07:10:04 +02:00
LICENSE
Makefile Initial work on using externally defined roles 2022-11-04 14:58:28 +02:00
README.md Update README to mention synapse-s3-storage-provider 2022-10-14 18:49:27 +03:00
requirements.yml Upgrade com.devture.ansible.role.playbook_state_preserver 2022-11-05 06:56:10 +02:00
setup.yml Merge pull request #2230 from etkecc/fix-workers-yaml-include-path 2022-11-05 07:45:13 +02:00

Support room on Matrix donate

Matrix (An open network for secure, decentralized communication) server setup using Ansible and Docker

Purpose

This Ansible playbook is meant to help you run your own Matrix homeserver, along with the various services related to that.

That is, it lets you join the Matrix network using your own @<username>:<your-domain> identifier, all hosted on your own server (see prerequisites).

We run all services in Docker containers (see the container images we use), which lets us have a predictable and up-to-date setup, across multiple supported distros (see prerequisites) and architectures (x86/amd64 being recommended).

Installation (upgrades) and some maintenance tasks are automated using Ansible (see our Ansible guide).

Supported services

Using this playbook, you can get the following services configured on your server:

Basically, this playbook aims to get you up-and-running with all the necessities around Matrix, without you having to do anything else.

Note: the list above is exhaustive. It includes optional or even some advanced components that you will most likely not need. Sticking with the defaults (which install a subset of the above components) is the best choice, especially for a new installation. You can always re-run the playbook later to add or remove components.

Installation

To configure and install Matrix on your own server, follow the README in the docs/ directory.

Changes

This playbook evolves over time, sometimes with backward-incompatible changes.

When updating the playbook, refer to the changelog to catch up with what's new.

Support

Services by the community

  • etke.cc - matrix-docker-ansible-deploy and system stuff "as a service". That service will create your matrix homeserver on your domain and server (doesn't matter if it's cloud provider or on an old laptop in the corner of your room), (optional) maintains it (server's system updates, cleanup, security adjustments, tuning, etc.; matrix homeserver updates & maintenance) and (optional) provide full-featured email service for your domain