diff --git a/plays/matrix.yml b/plays/matrix.yml new file mode 100755 index 0000000000000000000000000000000000000000..60543aa83d0a0eb5db4f7d4af57ea5fb52f09cfd --- /dev/null +++ b/plays/matrix.yml @@ -0,0 +1,5 @@ +#!/usr/bin/env ansible-playbook +--- +- hosts: trinity.adm.crans.org + roles: + - matrix-synapse diff --git a/roles/matrix-synapse/handlers/main.yml b/roles/matrix-synapse/handlers/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..aab51dae9452ff960ee5e3d694a2e3a5db4925ee --- /dev/null +++ b/roles/matrix-synapse/handlers/main.yml @@ -0,0 +1,5 @@ +--- +- name: Restart matrix-synapse + service: + name: matrix-synapse + state: restarted diff --git a/roles/matrix-synapse/tasks/main.yml b/roles/matrix-synapse/tasks/main.yml new file mode 100644 index 0000000000000000000000000000000000000000..83a6d6ef65007d6b5b45c65c29ad3a9f7c99edb3 --- /dev/null +++ b/roles/matrix-synapse/tasks/main.yml @@ -0,0 +1,29 @@ +--- +- name: Configure Debian backports repository + template: + src: apt/sources.list.d/backports.list.j2 + dest: /etc/apt/sources.list.d/backports.list + +- name: Install matrix-synapse + apt: + update_cache: true + default_release: "{{ ansible_lsb.codename }}-backports" + name: matrix-synapse + register: apt_result + retries: 3 + until: apt_result is succeeded + +- name: Configure matrix-synapse + template: + src: "matrix-synapse/conf.d/{{ item }}.j2" + dest: "/etc/matrix-synapse/conf.d/{{ item }}" + mode: 0640 + owner: matrix-synapse + group: nogroup + loop: + - app_service_config_files.yaml + - database.yaml + - listeners.yaml + - report_stats.yaml + - server_name.yaml + notify: Restart matrix-synapse diff --git a/roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 b/roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 new file mode 100644 index 0000000000000000000000000000000000000000..6326b3e479e0fdc2fe3f69a4312f06057f4c9d54 --- /dev/null +++ b/roles/matrix-synapse/templates/apt/sources.list.d/backports.list.j2 @@ -0,0 +1 @@ +deb {{ debian_mirror }} {{ ansible_lsb.codename }}-backports main contrib non-free diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..7ed59eac0abef58498177674536c2c3342667433 --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/app_service_config_files.yaml.j2 @@ -0,0 +1 @@ +app_service_config_files: ["/var/local/matrix-appservice-irc/registration.yaml"] diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..f03b840a78ccccd8916354a13542132daeac2d70 --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/database.yaml.j2 @@ -0,0 +1,9 @@ +database: + name: "psycopg2" + args: + user: "{{ matrix_synapse.database_user }}" + password: "{{ matrix_synapse.database_password }}" + database: "{{ matrix_synapse.database_name }}" + host: "{{ matrix_synapse.database_host }}" + cp_min: 5 + cp_max: 10 diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..a37ad8f6b998051d6b944872eda5d324c4b7724c --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/listeners.yaml.j2 @@ -0,0 +1,14 @@ +listeners: + - port: 8008 + tls: false + bind_addresses: + - '::' + - '0.0.0.0' + type: http + x_forwarded: true + resources: + - names: [client] + compress: true + - names: [federation] + compress: false + diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..47d71ee07b2c6d9121861b20968de92b736ee92e --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/report_stats.yaml.j2 @@ -0,0 +1,2 @@ +report_stats: false + diff --git a/roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 b/roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 new file mode 100644 index 0000000000000000000000000000000000000000..0da924aa75324bf2b14e3eb47ecd641cf8324a61 --- /dev/null +++ b/roles/matrix-synapse/templates/matrix-synapse/conf.d/server_name.yaml.j2 @@ -0,0 +1,2 @@ +server_name: crans.org +