> For the complete documentation index, see [llms.txt](https://docs.wproofreader.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.wproofreader.com/v6.18.1/admin-panel/self-hosted/get-started.md).

# Get started: create the owner account

Create the first user after your server administrator installs the self-hosted admin panel. This user is the initial owner.

### Before you start

You need:

* The admin panel address, for example `https://admin-panel.example.com`.
* The setup token or setup URL from your server administrator.

For a Kubernetes installation, see [Create the first administrator](/v6.18.1/deployment/installation/kubernetes/create-the-first-administrator.md) in the Kubernetes guide.

### Get the setup token

On its first start, the admin panel creates a token and writes a setup URL to the container log:

```
Setup URL: https://admin-panel.example.com/setup?token=<TOKEN> (expires <EXPIRES_AT>)
```

`<TOKEN>` is the generated token. `<EXPIRES_AT>` is its expiration time.

If you have server access, read the setup URL from the log:

```bash
docker logs <ADMIN_PANEL_CONTAINER> 2>&1 | grep 'Setup URL'
```

Replace `<ADMIN_PANEL_CONTAINER>` with the admin panel container name. Use the latest setup URL from the log.

{% hint style="info" %}
If you use the [Docker Compose example](https://github.com/WebSpellChecker/wproofreader-docker/tree/master/examples/admin-panel), run the commands in the folder with `docker-compose.yml`. Use the service name `admin-panel` instead of the container name:

```bash
docker compose logs admin-panel | grep 'Setup URL'
```

With the default project name, the container is `wproofreader-admin-panel-1`.
{% endhint %}

If the log is unavailable, read the token from its file:

```bash
docker exec <ADMIN_PANEL_CONTAINER> cat storage/app/onprem-setup-token
```

A restart before setup completes keeps a valid token. If the container still has the token file, the log shows the setup URL again. If the token expired, the restart creates a new token.

If you cannot recover the token, ask your server administrator to [get a new setup token](/v6.18.1/admin-panel/self-hosted/server-commands.md#get-a-new-setup-token).

{% hint style="warning" %}
The setup token gives access to create the initial owner. Keep the token and setup URL private. The token expires after 24 hours.
{% endhint %}

### Create the owner account

If you received a setup URL, open it. The URL fills **Setup token** for you.

If you received only a token:

1. Open `/setup` at your admin panel address.
2. Enter the token in **Setup token**.

On **Set up App manager**:

1. Check that **Setup token** contains your token.
2. Enter your name in **Name**.
3. Enter your email address in **Email**.
4. Enter a password in **Password**.
5. Enter it again in **Confirm password**.
6. Click **Create administrator**.

Use at least eight characters, including uppercase and lowercase letters. **Create administrator** is unavailable while required fields are empty.

The admin panel signs you in and opens **Subscription**. You do not need an email confirmation for this first account.

<figure><img src="https://2257447898-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FiyQMCOvN8kKwZftNXZft%2Fuploads%2Fgit-blob-28b4e9712f916f811d7610a5406da7a555d8866b%2Fadmin-panel-self-hosted_setup.png?alt=media" alt="Set up App manager page with the setup token, name, email and password fields"><figcaption></figcaption></figure>

Setup completes once. Deleting the initial owner does not reopen the setup page.

If browser setup is unavailable, ask your server administrator to [create the first user without a browser](/v6.18.1/admin-panel/self-hosted/server-commands.md#create-the-first-user-without-a-browser).

### Setup errors

If the form reports an invalid token, check that you entered the current token. If it expired, [get a new token](/v6.18.1/admin-panel/self-hosted/server-commands.md#get-a-new-setup-token).

If no token exists, the setup page asks your server administrator to run `php artisan app:setup-token --generate`. See [Get a new setup token](/v6.18.1/admin-panel/self-hosted/server-commands.md#get-a-new-setup-token).

### Next steps

1. Check your license on [Subscription](/v6.18.1/admin-panel/self-hosted/subscription.md).
2. Activate a product on [Products](/v6.18.1/admin-panel/self-hosted/products.md).
3. Invite members on [Team](/v6.18.1/admin-panel/self-hosted/team.md).
