Skip to content

Getting started

Loupe never leaves a fresh instance open to whoever finds it: registration refuses to create the first account. So every path below has to say where that first account comes from, and that is what actually distinguishes them.

I want to…PageFirst account
Look at it, without cloningDemoadmin@example.com / loupe-admin, baked into the image
Develop on itFrom sourcedev@loupe.test or admin@loupe.test / password, from app:dev:seed
Run it on one machineSingle-host Docker Composethe wizard at /install, gated by INSTALL_TOKEN
Run it on DigitalOceanApp Platformthe same wizard
Get back in when locked outRecovering an instancethe address you name; creates or promotes it

app:admin:create is the escape hatch for every row, not just the last. It works on any instance you have a shell on, and needs no mail, no token and no wizard.

Before a real deploy

Read What runs in production — Loupe is two processes from one image, and the second one is not optional. Then read Known gaps: several things the application needs are not configured on your behalf, and two of them leave a feature broken rather than merely off.

INSTALL_TOKEN is the one to set before the first deploy rather than after. In production the install wizard fails closed — with no token configured, /install returns 404 and the browser has no route to the first administrator. See First run.