| @@ -1,5 +1,10 @@ | |||||
| # 2018-11-28 | # 2018-11-28 | ||||
| ## More scripts | |||||
| * matrix-remove-all allows to uninstall everything with a single command | |||||
| * matrix-make-user-admin allows to upgrade a user's privileges | |||||
| ## LDAP auth support via matrix-synapse-ldap3 | ## LDAP auth support via matrix-synapse-ldap3 | ||||
| The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you. | The playbook can now install and configure [LDAP auth support](https://github.com/matrix-org/matrix-synapse-ldap3) for you. | ||||
| @@ -16,4 +16,14 @@ You can do it via this Ansible playbook (make sure to edit the `<your-username>` | |||||
| ----- | ----- | ||||
| If you've just installed Matrix, **to finalize the installation process**, it's best if you proceed to [Configuring service discovery via .well-known](configuring-well-known.md) | |||||
| If you've just installed Matrix, **to finalize the installation process**, it's best if you proceed to [Configuring service discovery via .well-known](configuring-well-known.md) | |||||
| ----- | |||||
| The script `/usr/local/bin/matrix-make-user-admin` may be used to upgrade a user's privileges: | |||||
| * log on to your server with ssh | |||||
| * execute with the username: | |||||
| /usr/local/bin/matrix-make-user-admin <username> | |||||
| @@ -18,4 +18,7 @@ However, if you've installed this on some server where you have other stuff you | |||||
| - uninstall Docker itself, if necessary | - uninstall Docker itself, if necessary | ||||
| - delete the `/matrix` directory (`rm -rf /matrix`) | |||||
| - delete the `/matrix` directory (`rm -rf /matrix`) | |||||
| The script `/usr/local/bin/matrix-remove-all` performs all these steps (**use with caution!**). | |||||
| @@ -53,4 +53,11 @@ | |||||
| - name: Create Matrix network in Docker | - name: Create Matrix network in Docker | ||||
| shell: | shell: | ||||
| cmd: "docker network create --driver=bridge {{ matrix_docker_network }}" | cmd: "docker network create --driver=bridge {{ matrix_docker_network }}" | ||||
| when: "result_check_docker_network.stdout == ''" | |||||
| when: "result_check_docker_network.stdout == ''" | |||||
| - name: Ensure matrix-remove-all script created | |||||
| template: | |||||
| src: "{{ role_path }}/templates/usr-local-bin/matrix-remove-all.j2" | |||||
| dest: "/usr/local/bin/matrix-remove-all" | |||||
| mode: 0750 | |||||
| @@ -62,6 +62,12 @@ | |||||
| dest: "/usr/local/bin/matrix-postgres-cli" | dest: "/usr/local/bin/matrix-postgres-cli" | ||||
| mode: 0750 | mode: 0750 | ||||
| - name: Ensure matrix-make-user-admin script created | |||||
| template: | |||||
| src: "{{ role_path }}/templates/usr-local-bin/matrix-make-user-admin.j2" | |||||
| dest: "/usr/local/bin/matrix-make-user-admin" | |||||
| mode: 0750 | |||||
| # | # | ||||
| # Tasks related to setting up an internal postgres server | # Tasks related to setting up an internal postgres server | ||||
| # | # | ||||
| @@ -0,0 +1,15 @@ | |||||
| #!/bin/bash | |||||
| if [ $# -ne 1 ]; then | |||||
| echo "Usage: "$0" <username>" | |||||
| exit 1 | |||||
| fi | |||||
| docker run \ | |||||
| -it \ | |||||
| --rm \ | |||||
| --env-file={{ matrix_environment_variables_data_path }}/env-postgres-pgsql-docker \ | |||||
| --network {{ matrix_docker_network }} \ | |||||
| {{ matrix_postgres_docker_image_to_use }} \ | |||||
| psql -h {{ matrix_postgres_connection_hostname }} -c "UPDATE users set admin=1 WHERE name like '@$1:{{ host_specific_hostname_identity }}'" | |||||
| @@ -0,0 +1,34 @@ | |||||
| #!/bin/bash | |||||
| if [ "$(id -u)" != "0" ]; then | |||||
| echo "This script must be executed as root! Aborting." | |||||
| exit 1 | |||||
| fi | |||||
| echo "WARNING! You are about to remove everything the playbook installs for matrix.{{ host_specific_hostname_identity }}: matrix, docker images,..." | |||||
| echo -n "If you're sure you want to do this, type: 'Yes, I really want to remove everything!'" | |||||
| read sure | |||||
| if [ "$sure" != "Yes, I really want to remove everything!" ]; then | |||||
| echo "Good thing I asked, exiting" | |||||
| exit 0 | |||||
| else | |||||
| echo "Stop and remove matrix services" | |||||
| for s in $(find /etc/systemd/system/ -name "matrix-*" -printf "%f\n"); do | |||||
| systemctl stop $s | |||||
| rm -f /etc/systemd/system/$s | |||||
| done | |||||
| systemctl daemon-reload | |||||
| echo "Remove matrix cronjobs" | |||||
| find /etc/cron.d/ -name "matrix-*" -delete | |||||
| echo "Remove matrix scripts" | |||||
| find /usr/local/bin/ -name "matrix-*" -delete | |||||
| echo "Remove every docker images" | |||||
| docker rmi $(docker images -aq) | |||||
| echo "Remove docker matrix network" | |||||
| docker network rm matrix | |||||
| echo "Remove /matrix directory" | |||||
| rm -fr /matrix | |||||
| exit 0 | |||||
| fi | |||||