diff options
Diffstat (limited to 'matrix/synapse02.yml')
-rw-r--r-- | matrix/synapse02.yml | 100 |
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 |