Skip to content
LabTether

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_PASSWORD set in .env.deploy -- a bootstrap admin account was created automatically on first boot. Sign in with username admin and 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:

  1. 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 with docker 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.
  2. 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 serve command 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.net hostname. 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:

  1. Dashboard loads without errors or critical startup banners.
  2. Nodes, Alerts, and Settings each open without API errors -- just click through them once.
  3. On the host, run docker compose ps (or docker compose --env-file .env.deploy -f docker-compose.deploy.yml ps if 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