# SPDX-FileCopyrightText: 2024 MDAD Team and contributors # # SPDX-License-Identifier: AGPL-3.0-or-later --- - name: "Set up a Matrix server" hosts: "{{ target if target is defined else 'matrix_servers' }}" become: true roles: # Most of the roles below are not distributed with the playbook, but downloaded separately using `ansible-galaxy` via the `just roles` command (see `justfile`). - role: galaxy/playbook_help tags: - setup-all - install-all - role: galaxy/systemd_docker_base - role: custom/matrix_playbook_migration - when: matrix_playbook_docker_installation_enabled | bool role: galaxy/docker vars: docker_install_compose: false docker_install_compose_plugin: false tags: - setup-docker - setup-all - install-docker - install-all - when: devture_docker_sdk_for_python_installation_enabled | bool role: galaxy/docker_sdk_for_python tags: - setup-docker - setup-all - install-docker - install-all - when: devture_timesync_installation_enabled | bool role: galaxy/timesync tags: - setup-timesync - setup-all - install-timesync - install-all - custom/matrix-base - custom/matrix-dynamic-dns - galaxy/exim_relay - role: galaxy/postgres - galaxy/redis - galaxy/keydb - galaxy/valkey - role: custom/matrix-authentication-service - custom/matrix-corporal - custom/matrix-appservice-draupnir-for-all - custom/matrix-appservice-double-puppet - custom/matrix-alertmanager-receiver - custom/matrix-bridge-appservice-discord - custom/matrix-bridge-appservice-slack - custom/matrix-bridge-appservice-webhooks - custom/matrix-bridge-appservice-irc - custom/matrix-bridge-appservice-kakaotalk - custom/matrix-bridge-beeper-linkedin - custom/matrix-bridge-go-skype-bridge - custom/matrix-bridge-wechat - custom/matrix-bridge-mautrix-facebook - custom/matrix-bridge-mautrix-twitter - custom/matrix-bridge-mautrix-hangouts - custom/matrix-bridge-mautrix-googlechat - custom/matrix-bridge-mautrix-instagram - custom/matrix-bridge-mautrix-meta-messenger - custom/matrix-bridge-mautrix-meta-instagram - custom/matrix-bridge-mautrix-telegram - custom/matrix-bridge-mautrix-signal - custom/matrix-bridge-mautrix-gmessages - custom/matrix-bridge-mautrix-whatsapp - custom/matrix-bridge-mautrix-wsproxy - custom/matrix-bridge-mautrix-discord - custom/matrix-bridge-mautrix-slack - custom/matrix-bridge-mx-puppet-discord - custom/matrix-bridge-mx-puppet-groupme - custom/matrix-bridge-mx-puppet-steam - custom/matrix-bridge-mx-puppet-slack - custom/matrix-bridge-mx-puppet-twitter - custom/matrix-bridge-mx-puppet-instagram - custom/matrix-bridge-postmoogle - custom/matrix-bridge-sms - custom/matrix-bridge-heisenbridge - custom/matrix-bridge-hookshot - custom/matrix-bot-matrix-reminder-bot - custom/matrix-bot-matrix-registration-bot - custom/matrix-bot-maubot - custom/matrix-bot-buscarron - custom/matrix-bot-baibot - custom/matrix-bot-honoroit - custom/matrix-bot-go-neb - custom/matrix-bot-mjolnir - custom/matrix-bot-draupnir - custom/matrix-bot-chatgpt - custom/matrix-cactus-comments - custom/matrix-cactus-comments-client - custom/matrix-rageshake - custom/matrix-synapse - custom/matrix-synapse-auto-compressor - custom/matrix-synapse-reverse-proxy-companion - custom/matrix-dendrite - custom/matrix-conduit - custom/matrix-synapse-admin - custom/matrix-synapse-usage-exporter - galaxy/prometheus_node_exporter - galaxy/prometheus_postgres_exporter - custom/matrix-prometheus-nginxlog-exporter - galaxy/prometheus - galaxy/grafana - custom/matrix-prometheus-services-connect - custom/matrix-registration - custom/matrix-client-element - custom/matrix-client-hydrogen - custom/matrix-client-cinny - custom/matrix-client-schildichat - galaxy/jitsi - custom/matrix-user-verification-service - custom/matrix-ldap-registration-proxy - custom/matrix-ma1sd - custom/matrix-dimension - galaxy/etherpad - custom/matrix-sliding-sync - custom/matrix-email2matrix - custom/matrix-sygnal - galaxy/ntfy - custom/matrix-static-files - custom/matrix-coturn - custom/matrix-media-repo - custom/matrix-pantalaimon - role: galaxy/postgres_backup - role: galaxy/backup_borg - custom/matrix-user-creator - custom/matrix-common-after - role: galaxy/container_socket_proxy - role: galaxy/traefik - role: galaxy/traefik_certs_dumper - role: galaxy/auxiliary - when: devture_systemd_service_manager_enabled | bool role: galaxy/systemd_service_manager # This is pretty much last, because we want it to better serve as a "last known good configuration". # See: https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2217#issuecomment-1301487601 - when: devture_playbook_state_preserver_enabled | bool role: galaxy/playbook_state_preserver tags: - setup-all - install-all - role: galaxy/playbook_runtime_messages