Configuration
All configuration happens through environment variables — either exported in
your shell before docker compose up, or set in docker-compose.yml (a
compose override file keeps your changes out of the repo).
Backend
Section titled “Backend”| Variable | Default | Purpose |
|---|---|---|
BACKEND_PORT |
8000 |
Host port the API is published on |
CORS_ORIGINS |
http://localhost:5173,http://127.0.0.1:5173 |
Comma-separated origins allowed to call the API from a browser |
SECRET_KEY |
secret |
JWT signing key — change this for anything beyond local evaluation |
MAX_FILE_SIZE |
50 MB | Per-file ingestion size limit |
If you serve the dashboard from anywhere other than localhost:5173 — a
different port, another machine, or a real domain — add that origin:
services: backend: environment: - CORS_ORIGINS=https://insight.example.com,http://localhost:5173Browser requests from unlisted origins will fail even though curl works.
Frontend
Section titled “Frontend”| Variable | Purpose |
|---|---|
VITE_BACKEND_URL |
Full API base the browser should call, e.g. http://localhost:8000/api/v1 |
Set at build/dev time (VITE_BACKEND_URL=... npm run dev or npm run build).
GPU acceleration
Section titled “GPU acceleration”Install the NVIDIA Container Toolkit so the Ollama container can use your GPU. Without it the stack still works — inference just runs on CPU.
Google Drive (OAuth)
Section titled “Google Drive (OAuth)”Google Drive connectivity requires a Google Cloud OAuth web client:
- Create OAuth credentials in the Google Cloud console, authorizing your instance’s redirect URI.
- Set
GOOGLE_OAUTH_REDIRECT_URI(and related variables) on the backend indocker-compose.yml, and place the downloaded credentials file atapp/secrets/gdrive_secret.json.
Note that the current dashboard UI only offers SMB sources; Drive is API-only today.
Running multiple instances
Section titled “Running multiple instances”Docker Compose project names isolate complete environments (separate databases, volumes, and networks) on one machine — useful for teams or for a staging copy:
export BACKEND_PORT=8001 SAMBA_PORT=1446docker compose -p alice up -d
# elsewhereexport BACKEND_PORT=8002 SAMBA_PORT=1447docker compose -p bob up -dManage each with the same -p flag: docker compose -p alice ps,
docker compose -p alice down, etc.
The bundled Samba test server
Section titled “The bundled Samba test server”The samba service is a small SMB server for development and testing.
Shares live in samba/shares/ on the host — drop files there and they’re
visible to pipelines through a data source pointed at it (credentials
testuser/testpass). Credentials are configurable in samba/start.sh.
