PLATINUM DOCS
Self-hosting

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 -d

setup.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_MODEWho can sign up
invite-onlyPT_ADMIN_EMAILS and invited addresses
closedPT_ADMIN_EMAILS and invited addresses
openAnyone, 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

PathPage
/dashboardThe dashboard: sign in, sign up, every tab
/adminThe operator panel, for platform admins
/cli-authThe browser step of pt login

Fix common problems

SymptomFix
Sign-in fails with an origin errorSet PT_PUBLIC_APP_ORIGIN to the exact origin in the address bar, or add it to PT_AUTH_TRUSTED_ORIGINS.
The terminal never connectsSet PT_COOKIE_DOMAIN to the parent domain of the console and the API.
No verification emailConfigure an email provider. The server log shows [email] no provider configured.