M

matrix-synapse

Role for install matrix-synapse, element-web, synapse-admin

Развертывание matrix-synapse server + synapse-admin + element-web

Ansible role состоит из следующих групп tasks:

  • Установка дополнительных пакетов - install_other.yml
  • Установка и настройка postgresql - install_postgresql.yml
  • Установка и настройка matrix-synapse - install_matrix_synapse.yml
  • Установка и настройка nginx - install_nginx.yml
  • Установка и настройка coturn - install_coturn.yml
  • Установка и настройка element web - install_element_web.yml
  • Установка и настройка synapse-admin - install_synapse_admin.yml

Включить/отключить нужный блок можно раскоментировав/закоментировав его в tasks/main.yml.

В templates/ лежат файлы конфигураций:

  • homeserver.yaml.j2 - конфигурация matrix-synapse
  • matrix.conf.j2, synadmin.conf.j2, element.conf.j2 - конфигурация сайтов для nginx
  • config.json.j2 - конфигурация element-web
  • turnserver.conf.j2 - конфигурация coturn
  • docker-compose.yml.j2 - конфигурация Docker Compose для synapse-admin

Requirements

  • Разработана с помощью ansible 2.13.3
  • Работоспособность протестирована на Ubuntu 20.04 и Ubuntu 22.04

Role Variables

  • other_pack - список дополнительных пакетов для установки
  • nginx_pack - список пакетов для установки и настройки web сервера
  • repo_url - адрес дистрибутива matrix-synapse
  • key_folder - путь к папке для добавления ключа репозиторию
  • domain_zones - список зон для web сервера
  • matrix - зона для matrix-synapse
  • synapse-admin - зона для synapse-admin
  • element - зона для element
  • conf_files - список файлов конфигурации для nginx
  • git_repo: git репозиторий synapse-admin

Отдельно в group_vars вынес следующие переменные:

  • email_address - для запроса сертификата certbot
  • db_name - имя базы данных postgresql
  • db_user - имя пользователя базы данных postgresql
  • db_pass - пароль к базе данных postgresql
  • matrix_admin_user - имя пользователя админимтратора matrix-synapse
  • matrix_admin_pass - пароль администратора matrix-synapse
  • my_domain - доменное имя

Example Playbook

- name: Install apps server
  hosts: {{ your_servers }}
  roles:
    - matrix-synapse-role.yml

License

Роль создана по инструкции на Habr-е от Chiudik

MIT

Author Information

Сердюков Роман reserdukov@gmail.com