feat: first-run web installer with admin account creation
ci / backend (push) Canceled after 0s
ci / frontend (push) Canceled after 0s

- Backend: app_settings table + users.is_admin flag (schema + migrate)
- POST /api/setup creates admin user, first workspace and marks installed
  (transactional, single-use, rate-limited); GET /api/setup/status
- Guard middleware: API answers 503 { setupRequired: true } until installed
- Frontend: /setup wizard (welcome, admin account, workspace), router guard
  redirects to installer when uninstalled, API interceptor handles 503
- Docs: installer covered in README, SETUP, HOSTING and ROADMAP
This commit is contained in:
x3
2026-09-22 13:39:33 +02:00
parent 375df06d59
commit 663f7c16cc
13 changed files with 248 additions and 6 deletions
+3 -2
View File
@@ -59,8 +59,9 @@ cd frontend && npm install && npm run dev
# -> http://localhost:5173
```
Default dev flow creates the first user via **Register** in the UI; that user can then
create workspaces and invite others by email (invited email must have an account).
Open the frontend: on first start a **web installer** guides you through creating the
admin account and your first workspace. Afterwards the team registers via the UI
and joins workspaces by email invite (invited email must have an account).
## Quick start (Docker Compose)