Installation
This walks you from a clean machine to a working instance — backend, all supporting services, and the dashboard.
-
Clone the repository.
Terminal window git clone https://github.com/insight-source/insight-engine.gitcd insight-engine -
Create a Clerk application.
The dashboard uses Clerk for sign-in and won’t start without a key. Sign up (free), create an application, and copy the Publishable key from API Keys — you’ll use it in step 5.
That’s all you need for email/password accounts. If you also want Google/GitHub social sign-in, copy the Secret key into
app/.envas well (there’s a template atapp/.env.example):Terminal window cp app/.env.example app/.env# fill in CLERK_PUBLISHABLE_KEY and CLERK_SECRET_KEY -
Start the platform.
Terminal window docker compose up -dThe first start downloads several container images (a few GB) and builds the backend — expect it to take a few minutes. Subsequent starts are fast.
Before the backend comes up, a short-lived
init-kekcontainer creates the encryption key atapp/.encrypted.binthat protects stored credentials (SMB passwords, Google grants). It runs once and exits — seeing it as “exited (0)” indocker compose psis normal. Treat that file like a secret and back it up: lose it, and every stored credential becomes unreadable.By default the backend listens on port 8000 and the bundled Samba test server on port 445. To change either:
Terminal window BACKEND_PORT=8000 SAMBA_PORT=1445 docker compose up -d -
Verify the backend is up.
Terminal window curl -s -o /dev/null -w "%{http_code}\n" http://localhost:8000/docs# → 200http://localhost:8000/docsalso serves the interactive API explorer in a browser. -
Start the dashboard.
The React frontend runs with Node. Give it its environment first:
Terminal window cd frontendcp .env.example .env.localEdit
.env.local: setVITE_CLERK_PUBLISHABLE_KEYto the key from step 2, andVITE_BACKEND_URL=http://localhost:8000/api/v1. Then:Terminal window npm installnpm run devOpen
http://localhost:5173in your browser. The backend’s CORS configuration allowslocalhost:5173out of the box; if you serve the frontend from a different origin, see configuration.For a production-style deployment, build static files with
npm run buildand servedist/behind a web server (e.g. nginx) that also proxies/api/,/oauth/, and/webhooks/to the backend. -
Create your account.
Visit the dashboard, choose Sign Up, and register — the first account is created the same way as any other; there is no separate admin setup.
-
Pull your first model.
In the dashboard go to Models → Create Model and enter a model tag from the Ollama library. For a quick CPU test,
tinyllama:latest(~640 MB) downloads fast — but see the note on small context windows before using it for real. For real answers on capable hardware, start with something likellama3.2. -
Connect data and chat.
From here, everything works exactly as described in the rest of these docs — follow the quickstart. If you don’t have an SMB share handy, the bundled Samba service is preloaded for testing: connect a data source with username
testuser, passwordtestpass, remote system nameSAMBA, IP addresssamba, and port445.
Ports at a glance
Section titled “Ports at a glance”| Port | Service | Notes |
|---|---|---|
| 8000 | Backend API | Configurable via BACKEND_PORT |
| 5173 | Dashboard (dev server) | Configurable via --port |
| 445 | Bundled Samba test server | Configurable via SAMBA_PORT |
Everything else (PostgreSQL, Weaviate, Ollama, Redis, Tika) stays on the internal Docker network and is not exposed to the host.
