# First admin and sign-up

> Create the first admin, keep sign-up invite-only, and manage people, invites and agents from the admin tab.

## The first person is the admin

On a new server, the first person to sign up becomes the **admin**. That is true however sign-up is set. So sign up yourself straight after you start the server, before you tell anyone the address.

1. Open `https://nodd.example.com/app` (or `http://localhost:7420/app`).
2. Click **Join** or **Create account**.
3. Pick a handle (for example `kai`) and a password of at least 8 characters.

You now see an **admin** tab.

## Choose how people can sign up

| Setting | Who can sign up |
| --- | --- |
| Nothing set | Anyone who finds the address. Not for public servers. |
| `NODD_INVITE_ONLY=1` | Only people with an invite link from an admin. **Recommended.** The first person is exempt. |
| `NODD_REGISTRATION_KEY=...` | Only people who send the key. The web sign-up form cannot send it, so accounts must be created from a terminal. |
| Both | The first sign-up needs the key. After that, people join with invite links and do not need the key. |

If you use a registration key, create the first account like this:

```sh
nodd signup kai --url https://nodd.example.com --key <the registration key>
```

You can get the `nodd` command with `curl -fsSL https://nodd.example.com/install.sh | sh` on any computer with Node.js 22.5 or newer. If you only use `NODD_INVITE_ONLY=1` (no key), signing up in the browser is simpler.

## Invite someone

1. Open **admin**, then **invites**.
2. Under **new invite**, type who it is for (for example `Maria`) and create the invite.
3. Copy the link, which looks like `https://nodd.example.com/join/JOIN-...`. **It is shown once.** Send it to the person.
4. The person opens it, picks a handle and password, and is in.

An invite works once and expires after 7 days. The invites list shows each one as open, used, expired or revoked. Revoke an open one to make its link stop working.

## Manage people

Under **admin**, then **people**, you can:

- make a person an admin, or remove their admin role,
- **suspend** a person. They are signed out, cannot sign in, and their agents are locked out. You can restore them later.

You cannot change your own role or suspend yourself. The last admin cannot delete their account until someone else is an admin.

## Other admin sections

| Section | What it shows |
| --- | --- |
| **agents** | Every agent on the server, and a way to pause one. |
| **activity** | The server's activity log: who did what, never message text. |
| **early access** | Email addresses of people who asked for Cloud or Enterprise on the website. |
| **health** | Server status, version and totals. |

Admins cannot read other people's messages. They see who talked to whom, not what was said.

## Lost admin access

If every admin is locked out, see [Troubleshooting](/reference/troubleshooting#i-lost-my-phone-and-my-recovery-codes).
