# xoxys.matrix [![Build Status](https://drone.rknet.org/api/badges/ansible/xoxys.matrix/status.svg)](https://drone.rknet.org/ansible/xoxys.matrix) Setup a matrix-synapse chat server ## Table of content * [Default Variables](#default-variables) * [matrix_version](#matrix_version) * [matrix_user](#matrix_user) * [matrix_user_home](#matrix_user_home) * [matrix_group](#matrix_group) * [matrix_extra_groups](#matrix_extra_groups) * [matrix_packages](#matrix_packages) * [matrix_packages_extra](#matrix_packages_extra) * [matrix_base_dir](#matrix_base_dir) * [matrix_conf_dir](#matrix_conf_dir) * [matrix_data_dir](#matrix_data_dir) * [matrix_log_dir](#matrix_log_dir) * [matrix_log_file_level](#matrix_log_file_level) * [matrix_log_console_level](#matrix_log_console_level) * [matrix_log_synapse_level](#matrix_log_synapse_level) * [matrix_log_synapse_sql_level](#matrix_log_synapse_sql_level) * [matrix_log_ldap_level](#matrix_log_ldap_level) * [matrix_log_ldap_auth_level](#matrix_log_ldap_auth_level) * [matrix_logrotate_enabled](#matrix_logrotate_enabled) * [matrix_logrotate_config](#matrix_logrotate_config) * [matrix_restart_policy](#matrix_restart_policy) * [matrix_server_url](#matrix_server_url) * [matrix_client_url](#matrix_client_url) * [matrix_web_client_location](#matrix_web_client_location) * [matrix_filter_timeline_limit](#matrix_filter_timeline_limit) * [matrix_http_bind_ips](#matrix_http_bind_ips) * [matrix_http_bind_port](#matrix_http_bind_port) * [matrix_https_bind_ips](#matrix_https_bind_ips) * [matrix_https_bind_port](#matrix_https_bind_port) * [matrix_ldap_auth_enabled](#matrix_ldap_auth_enabled) * [matrix_ldap_auth_server](#matrix_ldap_auth_server) * [matrix_ldap_auth_use_starttls](#matrix_ldap_auth_use_starttls) * [matrix_ldap_auth_basedn](#matrix_ldap_auth_basedn) * [matrix_ldap_auth_uid_attr](#matrix_ldap_auth_uid_attr) * [matrix_ldap_auth_mail_attr](#matrix_ldap_auth_mail_attr) * [matrix_ldap_auth_name_attr](#matrix_ldap_auth_name_attr) * [matrix_db_type](#matrix_db_type) * [matrix_db_server](#matrix_db_server) * [matrix_db_port](#matrix_db_port) * [matrix_db_name](#matrix_db_name) * [matrix_db_user](#matrix_db_user) * [matrix_db_password](#matrix_db_password) * [matrix_db_ssl_mode](#matrix_db_ssl_mode) * [matrix_db_ssl_root_cert](#matrix_db_ssl_root_cert) * [matrix_url_preview_enabled](#matrix_url_preview_enabled) * [matrix_url_preview_max_spider_size](#matrix_url_preview_max_spider_size) * [matrix_macaroon_secret_key](#matrix_macaroon_secret_key) * [matrix_form_secret](#matrix_form_secret) * [matrix_tls_enabled](#matrix_tls_enabled) * [matrix_tls_dhparam_path](#matrix_tls_dhparam_path) * [matrix_tls_dhparam_size](#matrix_tls_dhparam_size) * [matrix_tls_cert_path](#matrix_tls_cert_path) * [matrix_tls_key_path](#matrix_tls_key_path) * [matrix_tls_cert_source](#matrix_tls_cert_source) * [matrix_tls_key_source](#matrix_tls_key_source) * [matrix_rc_login_address](#matrix_rc_login_address) * [matrix_rc_login_account](#matrix_rc_login_account) * [Dependencies](#dependencies) * [License](#license) * [Author](#author) --- ## Default Variables ### matrix_version #### Default value ```YAML matrix_version: 1.2.1 ``` ### matrix_user #### Default value ```YAML matrix_user: matrix ``` ### matrix_user_home #### Default value ```YAML matrix_user_home: /home/{{ matrix_user }} ``` ### matrix_group #### Default value ```YAML matrix_group: '{{ matrix_user }}' ``` ### matrix_extra_groups #### Default value ```YAML matrix_extra_groups: [] ``` ### matrix_packages Ensure EPEL repo is available at this server #### Default value ```YAML matrix_packages: - '@Development tools' - libtiff-devel - libjpeg-devel - libzip-devel - freetype-devel - lcms2-devel - libwebp-devel - tcl-devel - tk-devel - redhat-rpm-config - python-virtualenv - python36-devel - libffi-devel - openssl-devel ``` ### matrix_packages_extra #### Default value ```YAML matrix_packages_extra: [] ``` ### matrix_base_dir #### Default value ```YAML matrix_base_dir: /opt/matrix ``` ### matrix_conf_dir #### Default value ```YAML matrix_conf_dir: '{{ matrix_base_dir }}/config' ``` ### matrix_data_dir #### Default value ```YAML matrix_data_dir: '{{ matrix_base_dir }}/data' ``` ### matrix_log_dir #### Default value ```YAML matrix_log_dir: '{{ matrix_base_dir }}/log' ``` ### matrix_log_file_level #### Default value ```YAML matrix_log_file_level: INFO ``` ### matrix_log_console_level #### Default value ```YAML matrix_log_console_level: ERROR ``` ### matrix_log_synapse_level #### Default value ```YAML matrix_log_synapse_level: INFO ``` ### matrix_log_synapse_sql_level #### Default value ```YAML matrix_log_synapse_sql_level: INFO ``` ### matrix_log_ldap_level #### Default value ```YAML matrix_log_ldap_level: INFO ``` ### matrix_log_ldap_auth_level #### Default value ```YAML matrix_log_ldap_auth_level: INFO ``` ### matrix_logrotate_enabled #### Default value ```YAML matrix_logrotate_enabled: false ``` ### matrix_logrotate_config #### Default value ```YAML matrix_logrotate_config: - log: '{{ matrix_log_dir }}/homeserver.log' options: - weekly - rotate 5 - maxsize 512K - compress - delaycompress - create 640 {{ matrix_user }} {{ matrix_group }} ``` ### matrix_restart_policy #### Default value ```YAML matrix_restart_policy: on-failure ``` ### matrix_server_url #### Default value ```YAML matrix_server_url: example.com ``` ### matrix_client_url #### Default value ```YAML matrix_client_url: https://matrix.example.com ``` ### matrix_web_client_location #### Default value ```YAML matrix_web_client_location: /path/to/web/root ``` ### matrix_filter_timeline_limit #### Default value ```YAML matrix_filter_timeline_limit: -1 ``` ### matrix_http_bind_ips #### Default value ```YAML matrix_http_bind_ips: - '::' - 0.0.0.0 ``` ### matrix_http_bind_port #### Default value ```YAML matrix_http_bind_port: 8008 ``` ### matrix_https_bind_ips #### Default value ```YAML matrix_https_bind_ips: '{{ matrix_http_bind_ips }}' ``` ### matrix_https_bind_port #### Default value ```YAML matrix_https_bind_port: 8448 ``` ### matrix_ldap_auth_enabled #### Default value ```YAML matrix_ldap_auth_enabled: false ``` ### matrix_ldap_auth_server #### Default value ```YAML matrix_ldap_auth_server: ldaps://ldap.example.com:636 ``` ### matrix_ldap_auth_use_starttls #### Default value ```YAML matrix_ldap_auth_use_starttls: 'false' ``` ### matrix_ldap_auth_basedn #### Default value ```YAML matrix_ldap_auth_basedn: ou=users,dc=example,dc=com ``` ### matrix_ldap_auth_uid_attr #### Default value ```YAML matrix_ldap_auth_uid_attr: uid ``` ### matrix_ldap_auth_mail_attr #### Default value ```YAML matrix_ldap_auth_mail_attr: email ``` ### matrix_ldap_auth_name_attr #### Default value ```YAML matrix_ldap_auth_name_attr: cn ``` ### matrix_db_type Sopported values are `pgsql` and `sqlite`. #### Default value ```YAML matrix_db_type: pgsql ``` ### matrix_db_server #### Default value ```YAML matrix_db_server: localhost ``` ### matrix_db_port #### Default value ```YAML matrix_db_port: 5432 ``` ### matrix_db_name #### Default value ```YAML matrix_db_name: matrix ``` ### matrix_db_user #### Default value ```YAML matrix_db_user: pgmatrix ``` ### matrix_db_password #### Default value ```YAML matrix_db_password: secure ``` ### matrix_db_ssl_mode #### Default value ```YAML matrix_db_ssl_mode: disable ``` ### matrix_db_ssl_root_cert #### Default value ```YAML matrix_db_ssl_root_cert: /etc/pki/tls/certs/ca-bundle.trust.crt ``` ### matrix_url_preview_enabled #### Default value ```YAML matrix_url_preview_enabled: false ``` ### matrix_url_preview_max_spider_size #### Default value ```YAML matrix_url_preview_max_spider_size: 10M ``` ### matrix_macaroon_secret_key #### Default value ```YAML matrix_macaroon_secret_key: jr;vhMlW=+U8pwBhVE^=6.,M94Gcyg_07Z-nNAsgj4ZZ:ew:HV ``` ### matrix_form_secret #### Default value ```YAML matrix_form_secret: oFP3m&,r^wJ=Tr#=Ruww5+h0e;-DZqcuVGXV4XgRZIAt~Gv2YF ``` ### matrix_tls_enabled #### Default value ```YAML matrix_tls_enabled: false ``` ### matrix_tls_dhparam_path #### Default value ```YAML matrix_tls_dhparam_path: '{{ matrix_base_dir }}/tls/dhparam.pem' ``` ### matrix_tls_dhparam_size #### Default value ```YAML matrix_tls_dhparam_size: 2048 ``` ### matrix_tls_cert_path #### Default value ```YAML matrix_tls_cert_path: '{{ matrix_base_dir }}/tls/certs/mycert.pem' ``` ### matrix_tls_key_path #### Default value ```YAML matrix_tls_key_path: '{{ matrix_base_dir }}/tls/private/mykey.pem' ``` ### matrix_tls_cert_source #### Default value ```YAML matrix_tls_cert_source: mycert.pem ``` ### matrix_tls_key_source #### Default value ```YAML matrix_tls_key_source: mykey.pem ``` ### matrix_rc_login_address Ratelimiting settings for login requests based on the client's IP address. #### Default value ```YAML - 'matrix_rc_login_address:' - ' per_second: 0.17' - ' burst_count: 3' ``` ### matrix_rc_login_account Ratelimiting settings for login requests based on the account the client is attempting to log into. #### Default value ```YAML - 'matrix_rc_login_account:' - ' per_second: 0.17' - ' burst_count: 3' ``` ## Dependencies None. ## License Robert Kaussow ## Author Robert Kaussow