Prerequisites
SQLite is used only for the automated test suite (the
vector(N) columns
swap to JSON text via the test migrations). Production and development run on
PostgreSQL + pgvector.1. Install dependencies
2. Provision PostgreSQL + pgvector
pgvector must exist in the target database before migrating:.env at it:
3. Choose AI providers
Chat and embeddings are configured separately — Anthropic, for example, has no embeddings endpoint, so you pair it with an embeddings-capable provider.When
AI_PROVIDER=anthropic and AI_EMBEDDINGS_PROVIDER is empty, AskMyDocs
auto-selects the first embeddings-capable provider with a configured key in a
dimension-safety-first order (openai → openrouter → regolo → gemini), so a
deployment never silently corrupts ingest writes with a mismatched dimension.
See AI providers for the full matrix.4. Migrate
- Embedding dimensions
6. Run it
/app for the SPA (chat + admin), or hit the JSON API directly. Create
your first admin user with the role seeder / auth:grant command (see
Admin panel).
Scheduler
Several rotations run on the Laravel scheduler (bootstrap/app.php). Enable the
system cron entry so they fire:
All commands accept
--days=N and --project= overrides; 0 disables the corresponding rotation.
Next steps
Quickstart
Ingest and ask your first question.
Configuration reference
Every env knob, grouped by subsystem.