Phase 1 of the README slim / docs-migration plan in #1000. README goes from 577 to ~191 lines: hero, one Quick Start, a Documentation index, comparison table, tech stack and a table of contents. The deep inline prose moves into a temporary docs/_to-migrate/ staging folder (webhooks, storage backends, first-run setup, system requirements, roadmap) so README links keep resolving until the docs-site pages are live. Existing docs/*.md referenced by app code are deliberately left in place — crm-disclaimers.md (frontend TSX, i18n, a backend route and migration), fonts.md (server.js), accounting-inbound-invoices.md (Dockerfile) and migration-to-org.md (UpdateNotification.tsx, MigrationBanner.tsx). Moving them is a separate, code-touching change. Verified before merge: merges cleanly against main with no conflicts; all 14 in-repo links resolve in the merged tree; no docs file is deleted or renamed; and the registry-move notice from #995 survives the rewrite in condensed form, keeping 'still responds but its tags are frozen at 2026-05-27' plus the migration-to-org.md link. The fuller symptom explanation remains in that doc, which the README links to. Follow-up per #1000: port docs/_to-migrate/* into docs.picpeak.app, then flip the README links and delete the staging folder. Co-authored-by: Luca-Timo <[email protected]>
1.9 KiB
1.9 KiB
First run — create your admin account
On first start with no ADMIN_PASSWORD set, PicPeak has no admin account yet and greets you with an in-browser setup screen — no credentials in .env:
- Open http://localhost:3000/admin — you'll be redirected to
/setup. - Read the one-time setup token from the 0600 file the backend writes it to
(it is deliberately not printed to the logs — that would leave a live
bootstrap credential in
docker logs):It is bind-mounted, sodocker compose exec backend cat /app/data/SETUP_TOKENsudo cat data/SETUP_TOKENon the host works too. Only if that file could not be written does the backend fall back to logging the token (docker compose logs backend | grep -i "setup token"). - Paste the token, set your admin email + password, and you're in. The token is single-use, and the setup screen closes permanently once an admin exists.
Prefer the old behaviour? Set
ADMIN_PASSWORDin.envand PicPeak auto-creates the admin on first boot instead (credentials written todata/ADMIN_CREDENTIALS.txt).
Docker file permissions
- The backend container starts as root, chowns bind-mounted host directories (
./storage,./data,./logs) to UID 1001 (nodejs), then drops privileges viasu-execbefore running the app. No host-side setup needed for fresh installs. - If you pin
user:in a compose override (e.g. to map a specific host UID), the self-chown is skipped and you must pre-chown the host directories to that UID — see docs.picpeak.app/deployment/docker#permissions.
ARM64 (aarch64) systems
Pre-built images include native linux/arm64, no platform flags or emulation needed. If you're on an older image tag that's still amd64-only, see docker-compose.amd64.override.yml for a transitional fallback.