Skip to content

Quickstart

Quickstart

The fastest path from a fresh checkout to a running Cbox ID with a signed-in operator. For production hardening see Deployment; for the full first-run walkthrough see Installation.

1. Bootstrap

git clone … && cd cbox-id
composer setup          # installs deps, copies .env, creates the sqlite db,
                        # then runs `cbox-id:install` (guided: mints the crypto
                        # master key, migrates, and creates the first operator,
                        # environment and — in the SaaS shape — account)
composer run dev        # serve + queue + vite + logs

composer setup runs cbox-id:install. It asks for the first operator, the deployment shape and the issuer URL, writes what it learns to .env, provisions the platform, and finishes by running cbox-id:doctor against what it built. Back up CBOX_ID_CRYPTO_KEY — losing it makes sealed secrets unrecoverable (Operations).

Fully non-interactive, for CI and images:

php artisan cbox-id:install --no-interaction [email protected]

2. …or claim it from the browser

Did not install from a shell — a container someone else started, say? An empty deployment serves exactly one page, at /first-run, and points every other page at it. It requires the setup token that the deployment publishes to storage/app/private/cbox-id-first-run.token and to the application log (docker logs), so reaching the URL is not enough to claim the platform. Completing it does what the install command does, then the route 404s for good.

The platform operator it creates is the identity above every environment — it administers environments, tenant organizations, and other operators. Enroll a passkey or TOTP factor immediately; this is the most sensitive account on the system.

3. Create an environment and its first org

Sign in at /workspace/login — the one door; there is no separate operator login. The deployment pages are the /platform section of that console, and they appear in the rail for whoever has authority over the deployment. From there create your environment(s) and use Provision admin on each to seed its first organization and owner-admin. Those org admins then sign in at /login; end users sign in there too.

4. Verify

php artisan cbox-id:doctor

A green doctor plus a reachable /.well-known/openid-configuration means you're live. Required environment variables are documented in Configuration.

Where to go next