summaryrefslogtreecommitdiff
path: root/matrix/synapse02.yml
diff options
context:
space:
mode:
Diffstat (limited to 'matrix/synapse02.yml')
-rw-r--r--matrix/synapse02.yml100
1 files changed, 100 insertions, 0 deletions
diff --git a/matrix/synapse02.yml b/matrix/synapse02.yml
new file mode 100644
index 0000000..04becc8
--- /dev/null
+++ b/matrix/synapse02.yml
@@ -0,0 +1,100 @@
+# vim: ts=2 shiftwidth=2
+---
+- hosts: localhost
+ remote_user: peter
+ become: yes
+ vars:
+ federation_server: "matrix.example.com"
+ client_server: "example.com"
+ dbuser: "synapse"
+ dbpass: ""
+ database: "synapse"
+ packages: [matrix-synapse, postgresql, nginx, python-psycopg2]
+ synapse_repo: "files/synapse.list"
+ synapse_config: "files/homeserver.yaml.j2"
+ synapse_config_server: "files/server_name.yaml.j2"
+ synapse_config_report: "files/report_stats.yaml"
+ nginx_config: "files/nginx.j2"
+ ssl_available: true
+ tasks:
+ - name: Get hostname
+ shell: hostname
+ register: hostname
+ become: no
+ - name: Setup nginx w/ HTTPS
+ template:
+ src: "{{ nginx_config }}"
+ dest: "/etc/nginx/sites-available/{{ federation_server }}.conf"
+ - name: Reload nginx
+ service:
+ name: nginx
+ state: reloaded
+ - name: Activate PostgreSQL
+ service:
+ name: postgresql
+ state: started
+ enabled: yes
+ - name: Create DB user
+ become_user: postgres
+ postgresql_user:
+ name: "{{ dbuser }}"
+ state: present
+ role_attr_flags: NOSUPERUSER,NOCREATEROLE,NOCREATEDB
+ password: "{{ dbpass }}"
+ encrypted: no
+ - name: Create DB
+ become_user: postgres
+ postgresql_db:
+ name: "{{ database }}"
+ state: present
+ owner: "{{ dbuser }}"
+ encoding: UTF8
+ lc_collate: C
+ lc_ctype: C
+ template: template0
+ - name: Configure Synapse (main)
+ template:
+ src: "{{ synapse_config }}"
+ dest: /etc/matrix-synapse/homeserver.yaml
+ force: yes
+ owner: matrix-synapse
+ group: nogroup
+ - name: Configure Synapse (server name)
+ template:
+ src: "{{ synapse_config_server }}"
+ dest: /etc/matrix-synapse/conf.d/server_name.yaml
+ force: yes
+ owner: matrix-synapse
+ group: nogroup
+ - name: Configure Synapse (stats)
+ template:
+ src: "{{ synapse_config_report }}"
+ dest: /etc/matrix-synapse/conf.d/report_stats.yaml
+ force: yes
+ owner: matrix-synapse
+ group: nogroup
+ - name: Copy Cert for Synapse
+ copy:
+ remote_src: yes
+ src: "/etc/ssl/certs/{{ federation_server }}.pem"
+ dest: "/etc/matrix-synapse/{{ federation_server }}.pem"
+ owner: matrix-synapse
+ group: nogroup
+ - name: Copy Key for Synapse
+ copy:
+ remote_src: yes
+ src: "/etc/ssl/private/{{ federation_server }}.key"
+ dest: "/etc/matrix-synapse/{{ federation_server }}.key"
+ owner: matrix-synapse
+ group: nogroup
+ - name: Start Synapse
+ service:
+ name: matrix-synapse
+ state: started
+ enabled: yes
+ - name: Done
+ debug:
+ msg: |-
+ What to do:
+ * Create a user via register_new_matrix_user -c /etc/matrix-synapse/homeserver.yaml https://localhost:8448
+ * Create the required DNS entries for federation