410a915a8a
This paves the way for installing other roles into `roles/galaxy` using `ansible-galaxy`, similar to how it's done in: - https://github.com/spantaleev/gitea-docker-ansible-deploy - https://github.com/spantaleev/nextcloud-docker-ansible-deploy In the near future, we'll be removing a lot of the shared role code from here and using upstream roles for it. Some of the core `matrix-*` roles have already been extracted out into other reusable roles: - https://github.com/devture/com.devture.ansible.role.postgres - https://github.com/devture/com.devture.ansible.role.systemd_docker_base - https://github.com/devture/com.devture.ansible.role.timesync - https://github.com/devture/com.devture.ansible.role.vars_preserver - https://github.com/devture/com.devture.ansible.role.playbook_runtime_messages - https://github.com/devture/com.devture.ansible.role.playbook_help We just need to migrate to those.
47 lines
1.7 KiB
YAML
47 lines
1.7 KiB
YAML
---
|
|
|
|
- name: Fail if playbook called incorrectly
|
|
ansible.builtin.fail:
|
|
msg: "The `username` variable needs to be provided to this playbook, via --extra-vars"
|
|
when: "username is not defined or username == '<your-username>'"
|
|
|
|
- name: Fail if playbook called incorrectly
|
|
ansible.builtin.fail:
|
|
msg: "The `password` variable needs to be provided to this playbook, via --extra-vars"
|
|
when: "password is not defined or password == '<your-password>'"
|
|
|
|
- name: Fail if not using matrix-postgres container
|
|
ansible.builtin.fail:
|
|
msg: "This command is working only when matrix-postgres container is being used"
|
|
when: "not matrix_postgres_enabled | bool"
|
|
|
|
- name: Ensure matrix-synapse is started
|
|
ansible.builtin.service:
|
|
name: matrix-synapse
|
|
state: started
|
|
daemon_reload: true
|
|
register: start_result
|
|
|
|
- name: Ensure matrix-postgres is started
|
|
ansible.builtin.service:
|
|
name: matrix-postgres
|
|
state: started
|
|
daemon_reload: true
|
|
register: postgres_start_result
|
|
|
|
|
|
- name: Wait a while, so that Matrix Synapse can manage to start
|
|
ansible.builtin.pause:
|
|
seconds: 7
|
|
when: "start_result.changed or postgres_start_result.changed"
|
|
|
|
- name: Generate password hash
|
|
ansible.builtin.shell: "{{ matrix_host_command_docker }} exec matrix-synapse /usr/local/bin/hash_password -c /data/homeserver.yaml -p {{ password | quote }}"
|
|
register: password_hash
|
|
changed_when: false
|
|
|
|
- name: Update user password hash
|
|
ansible.builtin.command: "{{ matrix_local_bin_path }}/matrix-postgres-update-user-password-hash {{ username | quote }} {{ password_hash.stdout | quote }}"
|
|
register: matrix_synapse_update_user_password_result
|
|
changed_when: matrix_synapse_update_user_password_result.rc == 0
|