← All docs · source: QUICK-START.md

LazyToken — 15-Minute Quick Start

Zero to a live dashboard with realistic demo data, on your laptop, in about fifteen minutes. This is the fastest way to see LazyToken; for a real deployment follow the Admin Guide.

What you get at the end: a running LazyToken server, an admin login, and a dashboard showing 90 days of savings across five teams, both Claude Code and Copilot agents, Context Firewall (DLP) events, and passthrough opportunities.


Prerequisites #

Pick one path below.


From the repository root:

cd deploy
cp .env.example .env          # then edit .env (see below)
docker compose up -d

Set at least these in deploy/.env:

POSTGRES_PASSWORD=change-me-strong
JWT_SECRET=$(openssl rand -hex 32)     # any 32+ char secret
BOOTSTRAP_ADMIN_EMAIL=admin@acme.com
BOOTSTRAP_ADMIN_PASSWORD=choose-a-strong-password
BOOTSTRAP_ORG_NAME=Acme

On first boot the server runs migrations and creates your first admin automatically. Check it is live:

curl http://localhost:8080/healthz      # -> {"status":"ok"}

You now have an empty org. To fill it with demo data, jump to Load the demo data.


Path B — Local dev (Node + PostgreSQL, ~8 min) #

cd server
cp .env.example .env                    # set DATABASE_URL; JWT_SECRET optional in dev
createdb lazytoken_dev                  # PostgreSQL 16 running locally
npm install
npx prisma migrate deploy
npm run dev                             # http://localhost:8080/healthz

Create your first admin (in a second terminal):

cd server
npm run bootstrap:admin -- --email admin@acme.com --password 'strong-pw' --org "Acme"

Load the demo data #

The demo seed populates a rich, realistic multi-team dataset — ideal for a first look or a sales demo. It creates its own org (Northwind Labs) and does not touch your real org.

cd server
# Point at whichever database your server uses. For the local dev path:
DATABASE_URL=postgresql://<user>@localhost:5432/lazytoken_dev npm run seed:demo

For an isolated demo database instead of your dev DB:

createdb lazytoken_demo
DATABASE_URL=postgresql://<user>@localhost:5432/lazytoken_demo npx prisma migrate deploy
DATABASE_URL=postgresql://<user>@localhost:5432/lazytoken_demo npm run seed:demo

and start the server with that same DATABASE_URL.

The script prints the demo logins and an enroll token when it finishes. See DEMO.md for the full walkthrough of what the dashboard shows.

Demo logins (all four RBAC roles):

RoleEmailPassword
Adminadmin@northwind.demodemo-admin-1234
Financefinance@northwind.demodemo-finance-1234
Leadlead@northwind.demodemo-lead-1234
Viewerviewer@northwind.demodemo-viewer-1234

Log in and look around #

Open the dashboard (served by the same server; default http://localhost:8080) and sign in as admin@northwind.demo. You should see:


Enroll a real agent (optional) #

If you have the ltk binary built, point a device at your server:

ltk enroll --server http://localhost:8080 --token <ORG-... from the seed output>
ltk status                              # shows enrollment, policy, reporting

Metrics flow in automatically as you use your coding agent. See the Admin Guide → Enrolling devices for fleet rollout via MDM.


Next steps #