Console
Serve the web console, create the first account, and get an API key.
The console is the web dashboard for sandboxes, templates, volumes, API keys and organizations. It runs next to the control plane, on its own hostname.
Turn it on
Point a DNS name such as app.example.com at the control plane, then pass it to setup.sh.
# on the control plane, in platinum/infra/compose
./setup.sh --console-domain app.example.com
docker compose up -dsetup.sh adds the console profile and, when the console and API names are siblings, sets PT_COOKIE_DOMAIN to their parent (.example.com). The console's terminal connects to the API directly, so it needs that shared cookie.
Compose sets PT_PUBLIC_APP_ORIGIN to https://app.example.com, so sign-in, invite and reset links point at the console. The image reads the API URL when it starts, so a new PT_DOMAIN needs only docker compose up -d.
Create the first account
Open https://app.example.com/dashboard and sign up with an address listed in PT_ADMIN_EMAILS. setup.sh --email put yours there.
A listed address can always sign up, even in invite-only mode. It becomes a platform admin once the address is verified: through the emailed link, or by signing in with Google.
A regular account still creates sandboxes and API keys in its own organization. The ADMIN_TOKEN covers operator tasks either way.
Create an API key
Open API Keys in the dashboard and create a key. Then point the SDK or CLI at your API:
export PT_API_URL=https://api.example.com
export PT_TOKEN=pt_live_…Every guide in these docs works the same against your install. Start with the Quickstart.
Invite people
setup.sh sets PT_SIGNUP_MODE=invite-only. Anyone else needs a pending invite for their exact address, sent from the console. Invites are emailed, so they also need an email provider.
PT_SIGNUP_MODE | Who can sign up |
|---|---|
invite-only | PT_ADMIN_EMAILS and invited addresses |
closed | PT_ADMIN_EMAILS and invited addresses |
open | Anyone, limited by PT_SIGNUP_DOMAIN_ALLOWLIST when set |
Google and GitHub sign-in appear when GOOGLE_CLIENT_* or GITHUB_CLIENT_* is set.
Know the routes
| Path | Page |
|---|---|
/dashboard | The dashboard: sign in, sign up, every tab |
/admin | The operator panel, for platform admins |
/cli-auth | The browser step of pt login |
Fix common problems
| Symptom | Fix |
|---|---|
| Sign-in fails with an origin error | Set PT_PUBLIC_APP_ORIGIN to the exact origin in the address bar, or add it to PT_AUTH_TRUSTED_ORIGINS. |
| The terminal never connects | Set PT_COOKIE_DOMAIN to the parent domain of the console and the API. |
| No verification email | Configure an email provider. The server log shows [email] no provider configured. |