Browse Source

Merge pull request #45 from tvo6/new-cmds

New scripts
pull/46/head
Slavi Pantaleev 7 years ago
committed by GitHub
parent
commit
a27d9f5cad
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 83 additions and 3 deletions
  1. +5
    -0
      CHANGELOG.md
  2. +11
    -1
      docs/registering-users.md
  3. +4
    -1
      docs/uninstalling.md
  4. +8
    -1
      roles/matrix-server/tasks/setup/setup_main.yml
  5. +6
    -0
      roles/matrix-server/tasks/setup/setup_postgres.yml
  6. +15
    -0
      roles/matrix-server/templates/usr-local-bin/matrix-make-user-admin.j2
  7. +34
    -0
      roles/matrix-server/templates/usr-local-bin/matrix-remove-all.j2

+ 5
- 0
CHANGELOG.md View File

@@ -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.


+ 11
- 1
docs/registering-users.md View File

@@ -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>


+ 4
- 1
docs/uninstalling.md View File

@@ -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!**).


+ 8
- 1
roles/matrix-server/tasks/setup/setup_main.yml View File

@@ -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


+ 6
- 0
roles/matrix-server/tasks/setup/setup_postgres.yml View File

@@ -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
# #


+ 15
- 0
roles/matrix-server/templates/usr-local-bin/matrix-make-user-admin.j2 View File

@@ -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 }}'"


+ 34
- 0
roles/matrix-server/templates/usr-local-bin/matrix-remove-all.j2 View File

@@ -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


Loading…
Cancel
Save