aboutsummaryrefslogtreecommitdiff
path: root/docs/administration/1_createusers.md
blob: cbdccd18b795567d07f005f2cf0189878ff11a51 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
---
title: Creating user accounts
parent: Administration
permalink: /administration/createusers
nav_order: 1
---

# Creating user accounts

User accounts can be created on a Dendrite instance in a number of ways.

## From the command line

The `create-account` tool is built in the `bin` folder when [building](../installation/build) Dendrite.

It uses the `dendrite.yaml` configuration file to connect to a **running** Dendrite instance and requires
shared secret registration to be enabled as explained below.

An example of using `create-account` to create a **normal account**:

```bash
./bin/create-account -config /path/to/dendrite.yaml -username USERNAME
```

You will be prompted to enter a new password for the new account.

To create a new **admin account**, add the `-admin` flag:

```bash
./bin/create-account -config /path/to/dendrite.yaml -username USERNAME -admin
```

By default `create-account` uses `http://localhost:8008` to connect to Dendrite, this can be overwritten using
the `-url` flag:

```bash
./bin/create-account -config /path/to/dendrite.yaml -username USERNAME -url https://localhost:8448
```

An example of using `create-account` when running in **Docker**, having found the `CONTAINERNAME` from `docker ps`:

```bash
docker exec -it CONTAINERNAME /usr/bin/create-account -config /path/to/dendrite.yaml -username USERNAME
```

```bash
docker exec -it CONTAINERNAME /usr/bin/create-account -config /path/to/dendrite.yaml -username USERNAME -admin
```

## Using shared secret registration

Dendrite supports the Synapse-compatible shared secret registration endpoint.

To enable shared secret registration, you must first enable it in the `dendrite.yaml`
configuration file by specifying a shared secret. In the `client_api` section of the config,
enter a new secret into the `registration_shared_secret` field:

```yaml
client_api:
  # ...
  registration_shared_secret: ""
```

You can then use the `/_synapse/admin/v1/register` endpoint as per the
[Synapse documentation](https://matrix-org.github.io/synapse/latest/admin_api/register_api.html).

Shared secret registration is only enabled once a secret is configured. To disable shared
secret registration again, remove the secret from the configuration file.