Skip to content

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).

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:

compose.override.yml
services:
backend:
environment:
- CORS_ORIGINS=https://insight.example.com,http://localhost:5173

Browser requests from unlisted origins will fail even though curl works.

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).

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 connectivity requires a Google Cloud OAuth web client:

  1. Create OAuth credentials in the Google Cloud console, authorizing your instance’s redirect URI.
  2. Set GOOGLE_OAUTH_REDIRECT_URI (and related variables) on the backend in docker-compose.yml, and place the downloaded credentials file at app/secrets/gdrive_secret.json.

Note that the current dashboard UI only offers SMB sources; Drive is API-only today.

Docker Compose project names isolate complete environments (separate databases, volumes, and networks) on one machine — useful for teams or for a staging copy:

Terminal window
export BACKEND_PORT=8001 SAMBA_PORT=1446
docker compose -p alice up -d
# elsewhere
export BACKEND_PORT=8002 SAMBA_PORT=1447
docker compose -p bob up -d

Manage each with the same -p flag: docker compose -p alice ps, docker compose -p alice down, etc.

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.