Bouée
Get started

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.

  1. Find the setup link: a long address such as https://support.example.com/setup#token=…, made for this installation alone. bin/install prints 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_TOKEN set in .env, the link is APP_URL/setup#token= followed by that value.

  2. Open it. It is the only way into setup: without it, /setup and 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 in APP_URL itself, as the link does, not the server's IP or an SSH tunnel: sign-in only works there, so setup refuses any other address.

  3. 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.

  4. 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 as OWNER on the account, and OWNER_EMAILS grants 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.