Manual setup
Run the Bun app and workers directly against managed services.
Use manual setup when you want to run OrcAI directly on a host instead of using the full Compose stack.
Prerequisites
- Bun
>=1.3.10 - PostgreSQL
- Qdrant
- SpiceDB
- S3-compatible object storage
- An OpenAI-compatible endpoint for embeddings
- Tesseract with
enganddeulanguage packs if workers run on the host - An SMTP server (optional)
Install dependencies
cp .env.example .env
bun install --frozen-lockfileEdit .env before starting the app. Configuration lists the required variables.
Initialise data stores
Apply the database migrations and the SpiceDB schema:
bun run stack migratePackage scripts do not read the root .env, so run them through bun run stack, which loads it. bun run stack exec -- <command> does the same for any other command.
Start development processes
Start the app:
bun run devStart background workers in a separate terminal:
bun run workers:devThe app is then at http://localhost:3000. On a fresh database, complete the instance setup at http://localhost:3000/init, as described in Initialise the instance.
Production commands
Build and start the app:
bun run build
bun run stack exec -- bun run startStart workers:
bun run stack exec -- bun run workers:startOCR on the host
OCR-backed asset preparation runs in the worker process. When workers run outside Docker, install Tesseract and the configured language packs. Use KREUZBERG_OCR_LANGUAGE=eng+deu only where both packs are installed.