Skip to content

First run

Set INSTALL_TOKEN before the first deploy. The install wizard at /install is how you create the first administrator, and in production it fails closed: with APP_ENV=prod and no token configured it returns 404 outright. A forgotten variable locks the wizard rather than exposing it. Append the token once as ?token=<value>; the app remembers it for the rest of that session.

If you forget it you are not locked out, but the fix is a shell rather than a browser — see Recovering an instance.

Sign-up is closed until the instance is installed: /register, the OAuth sign-up branch and /waitlist all refuse to create the first account, so a missing INSTALL_TOKEN cannot leave a fresh instance to whoever finds it first. Registration is additionally gated on the registration.enabled feature flag, which the wizard seeds and the admin area can toggle at any time. When the flag row is absent — an instance upgraded from a version that never seeded it, or one recovered entirely from the shell — registration stays open, so an existing instance keeps behaving as it did.