Kaynağa Gözat

Merge pull request #45 from tvo6/new-cmds

New scripts
pull/46/head
Slavi Pantaleev 7 yıl önce
committed by GitHub
ebeveyn
işleme
a27d9f5cad
Veri tabanında bu imza için bilinen anahtar bulunamadı GPG Anahtar Kimliği: 4AEE18F83AFDEB23
7 değiştirilmiş dosya ile 83 ekleme ve 3 silme
  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 Dosyayı Görüntüle

@@ -1,5 +1,10 @@
# 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

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 Dosyayı Görüntüle

@@ -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 Dosyayı Görüntüle

@@ -18,4 +18,7 @@ However, if you've installed this on some server where you have other stuff you

- 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 Dosyayı Görüntüle

@@ -53,4 +53,11 @@
- name: Create Matrix network in Docker
shell:
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 Dosyayı Görüntüle

@@ -62,6 +62,12 @@
dest: "/usr/local/bin/matrix-postgres-cli"
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
#


+ 15
- 0
roles/matrix-server/templates/usr-local-bin/matrix-make-user-admin.j2 Dosyayı Görüntüle

@@ -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 Dosyayı Görüntüle

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


Yükleniyor…
İptal
Kaydet