First-run setup
Open the setup link, pass Preflight, and set up the first workspace.
To set up without the browser, from a file a script can write, see Automated install.
-
Find the setup link: a long address such as
https://support.example.com/setup#token=…, made for this installation alone.bin/installprints it once Bouée is up and offers to copy it, and the server log repeats it at every start until setup is complete:docker compose --profile app logs web | grep 'Setup link'With
SETUP_TOKENset in.env, the link isAPP_URL/setup#token=followed by that value. -
Open it. It is the only way into setup: without it,
/setupand Preflight show nothing but where to find it (how the link keeps its token private). It opens Preflight, which checks the configuration, the database, storage and DNS; fix any error it shows, then select Continue to setup (Preflight and Instance status). Use the address inAPP_URLitself, as the link does, not the server's IP or an SSH tunnel: sign-in only works there, so setup refuses any other address. -
Work through the steps: the workspace, email, the customer portal, and who on your team may sign in. The setup session lasts 12 hours in the browser that opened the link.
-
On the last step, enter the owner's email address. Bouée emails the first sign-in code to it, and that sign-in makes the address staff: the people who administer the installation, on Instance settings (
/instance/settings). The role is stored asOWNERon the account, andOWNER_EMAILSgrants it to more addresses; it is separate from owning a workspace.
Finishing setup needs the server to reach the outside world: it looks up the sending domain's DMARC record over DNS, and sends the owner's code through Resend. If DNS is blocked from the container, the last step says the record could not be checked.