First Login
The hub is running. Time to sign in and make sure everything looks right before you connect any devices.
Sign in
Open http://localhost:3000 in your browser.
What happens next depends on how you set up the admin account:
- No password configured (the default) -- the console redirects you to
/setup, where you'll enter the locally generated one-time setup token and create your admin account. This is the most common path for fresh installs. LABTETHER_ADMIN_PASSWORDset in.env.deploy-- a bootstrap admin account was created automatically on first boot. Sign in with usernameadminand the password you configured.- OIDC configured -- click "Sign in with SSO" and complete the provider flow.
The setup wizard
If you landed on /setup, you'll walk through two steps:
- Create admin account -- paste the one-time token printed by
scripts/install-compose.sh, then pick a username and password. This becomes the owner account for the instance. If you installed from release artifacts manually, retrieve the token on the Docker host withdocker compose --env-file .env.deploy -f docker-compose.deploy.yml exec -T labtether sh -c 'cat /bootstrap/auth/setup-token'. The token is accepted only while no user exists. - Tailscale HTTPS (optional) -- the wizard recommends enabling Tailscale HTTPS for secure access from anywhere on your tailnet. If your host is already on Tailscale, it can show you the exact
tailscale servecommand to run. This step is entirely optional -- skip it and come back later in Settings if you prefer.
Tip: If you accept the Tailscale HTTPS recommendation, all future agent install commands and console URLs automatically use your
https://<host>.<tailnet>.ts.nethostname. Agents connecting over that path use your tailnet's public certificates, so there's no CA bootstrapping needed on managed nodes.
Confirm everything works
Before adding devices, do a quick sanity check:
- Dashboard loads without errors or critical startup banners.
- Nodes, Alerts, and Settings each open without API errors -- just click through them once.
- On the host, run
docker compose ps(ordocker compose --env-file .env.deploy -f docker-compose.deploy.yml psif you used the manual path) and confirm all services show as healthy.
If the Dashboard shows a First-Run Checklist card, work through its items or dismiss it once you've confirmed the basics above.
That's it -- the platform is healthy. Next up: Your First Node