First run
Claiming the first account, what it creates, and why registration closes permanently afterwards.
Open https://<your hostname>/setup.
Claim the first account
The setup form asks for a name, an email address, and a password. Completing it creates, in one transaction:
- The first user, with their password hashed with Argon2id.
- An organization, which everything else in the product belongs to.
- A membership joining the two, with the role
OWNER. - A server row for the machine the control plane is running on, named by
LOCAL_SERVER_NAME(defaultlocal).
Registration closes permanently once one account exists
There is no second chance and no flag to reopen it. POST /setup refuses with
409 the moment any user row exists. If nobody claims the first account, the
only fix is deleting the user row from the database.
Everyone after the first arrives by invitation, or through self-service signup where the operator has enabled it.
What to do next, in order
Turn on two-factor authentication. Account settings, one scan. Anyone with admin access to the portal has root on the server — see two-factor authentication.
Check the server page. It should show the control plane's own machine as online, with CPU, memory, disk, and the Docker container list. If the numbers look like a container's rather than the machine's, read metrics.
Create a project. It comes with a production environment. See
projects and applications.
Deploy something. Deploy your first application.
Signing in afterwards
The portal is at the hostname you installed on. Sessions are cookie-based, last 30 days by default, and slide forward at most once a day. Signing out revokes the session server-side rather than only clearing the cookie, and you can list and revoke your own sessions — or, as an owner or admin, someone else's — from the portal.