2019-01-18 13:52:23 +00:00
|
|
|
---
|
|
|
|
- name: Prepare base folders
|
|
|
|
file:
|
|
|
|
path: "{{ item }}"
|
|
|
|
state: directory
|
|
|
|
owner: "{{ matrix_user }}"
|
|
|
|
group: "{{ matrix_user }}"
|
|
|
|
mode: 0750
|
|
|
|
loop:
|
|
|
|
- "{{ matrix_base_dir }}"
|
|
|
|
- "{{ matrix_conf_dir }}"
|
2019-01-19 00:30:45 +00:00
|
|
|
- "{{ matrix_data_dir }}"
|
2019-01-19 14:09:07 +00:00
|
|
|
- "{{ matrix_log_dir }}"
|
2019-01-18 13:52:23 +00:00
|
|
|
become: True
|
|
|
|
become_user: root
|
|
|
|
|
|
|
|
- block:
|
|
|
|
- name: Upgrade python dependencies
|
|
|
|
pip:
|
|
|
|
name: "{{ item }}"
|
2019-11-24 15:24:29 +00:00
|
|
|
virtualenv: "{{ matrix_base_dir }}/env"
|
2019-01-19 00:30:45 +00:00
|
|
|
virtualenv_command: /usr/bin/python3 -m venv
|
2019-01-18 13:52:23 +00:00
|
|
|
extra_args: --upgrade
|
|
|
|
loop:
|
|
|
|
- pip
|
|
|
|
- setuptools
|
|
|
|
|
2019-11-24 15:21:50 +00:00
|
|
|
- name: Install Synapse in virtualenv
|
2019-01-18 13:52:23 +00:00
|
|
|
pip:
|
2019-01-19 00:30:45 +00:00
|
|
|
name: matrix-synapse[all]
|
2019-01-18 13:52:23 +00:00
|
|
|
version: "{{ matrix_version }}"
|
2019-11-24 15:24:29 +00:00
|
|
|
virtualenv: "{{ matrix_base_dir }}/env"
|
2019-01-19 00:30:45 +00:00
|
|
|
virtualenv_command: /usr/bin/python3 -m venv
|
2019-02-05 22:02:27 +00:00
|
|
|
notify: __matrix_restart
|
2019-01-18 13:52:23 +00:00
|
|
|
|
2019-01-19 21:02:52 +00:00
|
|
|
- name: Install ldap3 auth provider
|
|
|
|
pip:
|
|
|
|
name: "matrix-synapse-ldap3"
|
2019-11-24 15:24:29 +00:00
|
|
|
virtualenv: "{{ matrix_base_dir }}/env"
|
2019-01-19 21:02:52 +00:00
|
|
|
virtualenv_command: /usr/bin/python3 -m venv
|
2019-06-10 12:06:34 +00:00
|
|
|
when: matrix_ldap_auth_enabled | bool
|
2019-01-19 21:02:52 +00:00
|
|
|
|
2021-04-05 15:05:39 +00:00
|
|
|
- name: Deploy existing signing key
|
|
|
|
copy:
|
|
|
|
content: "{{ matrix_signing_key }}"
|
|
|
|
dest: "{{ matrix_conf_dir }}/{{ matrix_server_url }}.signing.key"
|
|
|
|
mode: 0600
|
|
|
|
whem: matrix_signing_key is defined
|
|
|
|
|
|
|
|
- name: Create new signing key if not provided
|
|
|
|
shell: '{{ matrix_base_dir }}/env/bin/python -c "from signedjson import key; file = open(''{{ matrix_conf_dir }}/{{ matrix_server_url }}.signing.key'',''w''); key.write_signing_keys(file, [key.generate_signing_key(''first'')]); file.close()"'
|
2019-01-19 14:06:56 +00:00
|
|
|
args:
|
2019-01-20 14:02:02 +00:00
|
|
|
creates: "{{ matrix_conf_dir }}/{{ matrix_server_url }}.signing.key"
|
2019-01-19 14:06:56 +00:00
|
|
|
notify: __matrix_restart
|
|
|
|
|
|
|
|
- name: Deploy global config files
|
2019-01-18 13:52:23 +00:00
|
|
|
template:
|
2019-01-19 14:06:56 +00:00
|
|
|
src: "opt/matrix/config/{{ item }}.j2"
|
|
|
|
dest: "{{ matrix_conf_dir }}/{{ item }}"
|
2019-01-19 21:04:27 +00:00
|
|
|
mode: 0600
|
2019-01-19 14:06:56 +00:00
|
|
|
loop:
|
|
|
|
- "homeserver.yml"
|
2019-01-19 14:22:55 +00:00
|
|
|
- "logging.config"
|
2019-01-18 13:52:23 +00:00
|
|
|
notify: __matrix_restart
|
|
|
|
become: True
|
|
|
|
become_user: "{{ matrix_user }}"
|
|
|
|
|
|
|
|
- block:
|
2021-04-05 15:05:39 +00:00
|
|
|
- name: Deploy systemd unit file
|
2019-01-18 13:52:23 +00:00
|
|
|
template:
|
|
|
|
src: "etc/systemd/system/matrix.service.j2"
|
|
|
|
dest: "/etc/systemd/system/matrix.service"
|
2021-02-04 20:42:30 +00:00
|
|
|
mode: 0644
|
2019-01-18 13:52:23 +00:00
|
|
|
notify: __matrix_restart
|
|
|
|
become: True
|
|
|
|
become_user: root
|