Allow regular users to be created as well (not only admins)

This commit is contained in:
Slavi Pantaleev 2017-08-01 11:11:29 +03:00
parent 87f5883f24
commit 81077e6cdf
3 changed files with 18 additions and 7 deletions

View file

@ -146,11 +146,11 @@ Run this to create a new user account on your Matrix server.
You can do it via this Ansible playbook (make sure to edit the `<your-username>` and `<your-password>` part below): You can do it via this Ansible playbook (make sure to edit the `<your-username>` and `<your-password>` part below):
ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=<your-username> password=<your-password>' --tags=register-user ansible-playbook -i inventory/hosts setup.yml --extra-vars='username=<your-username> password=<your-password> admin=<yes|no>' --tags=register-user
**or** using the command-line after **SSH**-ing to your server (requires that [all services have been started](#Starting-the-services)): **or** using the command-line after **SSH**-ing to your server (requires that [all services have been started](#Starting-the-services)):
matrix-synapse-register-user <your-username> <your-password> matrix-synapse-register-user <your-username> <your-password> <admin access: 0 or 1>
**Note**: `<your-username>` is just a plain username (like `john`), not your full `@<username>:<your-domain>` identifier. **Note**: `<your-username>` is just a plain username (like `john`), not your full `@<username>:<your-domain>` identifier.

View file

@ -8,6 +8,10 @@
fail: msg="The `password` variable needs to be provided to this playbook, via --extra-vars" fail: msg="The `password` variable needs to be provided to this playbook, via --extra-vars"
when: "password is not defined or password == '<your-password>'" when: "password is not defined or password == '<your-password>'"
- name: Fail if playbook called incorrectly
fail: msg="The `admin` variable needs to be provided to this playbook, via --extra-vars"
when: "admin is not defined or admin not in ['yes', 'no']"
- name: Ensure matrix-synapse is started - name: Ensure matrix-synapse is started
service: name=matrix-synapse state=started daemon_reload=yes service: name=matrix-synapse state=started daemon_reload=yes
register: start_result register: start_result
@ -17,4 +21,4 @@
when: start_result.changed when: start_result.changed
- name: Register user - name: Register user
shell: "matrix-synapse-register-user {{ username }} {{ password }}" shell: "matrix-synapse-register-user {{ username }} {{ password }} {{ '1' if admin == 'yes' else '0' }}"

View file

@ -1,11 +1,18 @@
#!/bin/bash #!/bin/bash
if [ $# -ne 2 ]; then if [ $# -ne 3 ]; then
echo "Usage: "$0" <username> <password>" echo "Usage: "$0" <username> <password> <admin access: 0 or 1>"
exit 1 exit 1
fi fi
user=$1 user=$1
password=$2 password=$2
admin=$3
docker exec matrix-synapse register_new_matrix_user -u $user -p $password -a -c /data/homeserver.yaml https://localhost:8448 extraFlags=""
if [ "$admin" -eq "1" ]; then
extraFlags=$extraFlags" -a"
fi
docker exec matrix-synapse register_new_matrix_user -u $user -p $password $extraFlags -c /data/homeserver.yaml https://localhost:8448