aboutsummaryrefslogtreecommitdiffstats
path: root/roles/synapse/tasks/main.yml
diff options
context:
space:
mode:
Diffstat (limited to 'roles/synapse/tasks/main.yml')
-rw-r--r--roles/synapse/tasks/main.yml67
1 files changed, 67 insertions, 0 deletions
diff --git a/roles/synapse/tasks/main.yml b/roles/synapse/tasks/main.yml
new file mode 100644
index 0000000..bf0002d
--- /dev/null
+++ b/roles/synapse/tasks/main.yml
@@ -0,0 +1,67 @@
+- name: install packages
+ dnf:
+ name: '{{ synapse_packages }}'
+ state: present
+
+- import_tasks: freeipa.yml
+
+- name: create home directory
+ file:
+ path: '{{ item }}'
+ owner: '{{ synapse_user }}'
+ group: '{{ synapse_user }}'
+ mode: 0700
+ state: directory
+ loop:
+ - '{{ synapse_home }}'
+ - '{{ synapse_venv }}'
+
+- name: install synapse
+ pip:
+ name: '{{ synapse_pip_packages }}'
+ virtualenv: '{{ synapse_venv }}'
+ state: latest
+ become: yes
+ become_user: '{{ synapse_user }}'
+
+- name: generate synapse configuration
+ template:
+ src: '{{ synapse_home[1:] }}/{{ item }}.j2'
+ dest: '{{ synapse_home }}/{{ item }}'
+ owner: '{{ synapse_user }}'
+ group: '{{ synapse_user }}'
+ mode: 0600
+ notify: restart synapse
+ loop:
+ - homeserver.yaml
+ - logging.config
+
+- name: generate signing key
+ shell:
+ cmd: >-
+ source {{ synapse_venv }}/bin/activate &&
+ python -m synapse.app.homeserver --config-path {{ synapse_home }}/homeserver.yaml --generate-keys
+ creates: '{{ synapse_home }}/{{ synapse_domain }}.signing.key'
+ become: yes
+ become_user: '{{ synapse_user }}'
+
+- name: create systemd unit
+ template:
+ src: etc/systemd/system/synapse.service.j2
+ dest: /etc/systemd/system/synapse.service
+ notify: restart synapse
+
+- name: reload systemd daemons
+ systemd:
+ daemon_reload: yes
+
+- import_tasks: database.yml
+
+- name: enable systemd unit
+ systemd:
+ name: synapse
+ enabled: yes
+ state: started
+
+- import_tasks: element.yml
+ tags: element