The human-in-the-loop RAG knowledge platform
Docs Β· API Reference Β· Report Bug Β· Request Feature
RAGler is an open-source RAG knowledge operations platform that gives you full control over your retrieval-augmented generation pipeline β from ingestion to publishing.
- π₯ Ingest knowledge from Confluence, web pages, file uploads, or manual text
- π Review & edit chunks in a draft session before they go live
- π Publish validated chunks to Qdrant vector collections
- π€ AI Agent for chat, collection cleaning, and chunk generation
- π MCP Server for IDE integration (Cursor, VS Code, etc.)
ββββββββββββββββ ββββββββββββββββ ββββββββββββββββ
β Frontend ββββββΆβ Backend ββββββΆβ Qdrant β
β (Next.js) β β (NestJS) β β (vectors) β
ββββββββββββββββ ββββββββ¬ββββββββ ββββββββββββββββ
β
ββββββββ΄ββββββββ
β Redis β
β (sessions) β
ββββββββββββββββ
| Requirement | Version |
|---|---|
| Node.js | 20+ |
| pnpm | 9+ |
| Docker | latest |
| OpenAI Key | β |
git clone https://github.com/scrobot/ragler.git
cd ragler
docker compose up -d redis qdrantcd backend
pnpm install
cp .env.example .env
# set OPENAI_API_KEY in .env
pnpm start:devcurl http://localhost:3000/api/health/liveness
# β {"status":"ok"}cd frontend
pnpm install
pnpm dev
# β http://localhost:3000cd mcp-server
pnpm install && pnpm build && pnpm startThe fastest way to run RAGler β all services in one command.
git clone https://github.com/scrobot/ragler.git
cd ragler
# Set your OpenAI key
echo "OPENAI_API_KEY=sk-your-key-here" > .env
# Start everything
docker compose up -dThis pulls pre-built images from ghcr.io/scrobot/ragler and starts:
| Service | URL | Description |
|---|---|---|
| Frontend | localhost:3000 | RAGler UI |
| Backend API | localhost:3010 | API + Swagger |
| Qdrant | localhost:6333 | Vector DB dashboard |
| Redis | localhost:6379 | Session store |
docker compose up -d --builddocker compose --profile debug up -d
# β RedisInsight at http://localhost:5540docker compose down # stop containers
docker compose down -v # stop + delete volumesBackend config lives in backend/.env. Key variables:
| Variable | Required | Default | Description |
|---|---|---|---|
OPENAI_API_KEY |
β | β | OpenAI API key |
REDIS_HOST |
β | β | Redis hostname |
REDIS_PORT |
β | 6379 |
Redis port |
QDRANT_URL |
β | β | Qdrant connection URL |
PORT |
β | 3000 |
Backend port |
SESSION_TTL |
β | 86400 |
Draft session TTL (seconds) |
SQLITE_PATH |
β | data/ragler.db |
SQLite path for settings |
Toggle features via environment variables or the UI (Settings β Features):
| Flag | Default | Controls |
|---|---|---|
FEATURE_CONFLUENCE_INGEST |
true |
Confluence ingestion |
FEATURE_WEB_INGEST |
true |
Web URL ingestion |
FEATURE_FILE_INGEST |
true |
File upload ingestion |
FEATURE_AGENT |
true |
AI agent (chat, cleaning) |
| Resource | Link |
|---|---|
| π Full docs | scrobot.github.io/ragler |
| π§ API Swagger | localhost:3000/api/docs |
| ποΈ Architecture | docs/architecture |
| π Getting started | docs/getting-started |
cd backend
pnpm test # run all tests
pnpm lint # lint check
pnpm typecheck # type checkContributions are welcome! Please feel free to submit a Pull Request.
- Fork the project
- Create your feature branch (
git checkout -b feat/amazing-feature) - Commit using conventional commits (
git commit -m 'feat: add amazing feature') - Push to the branch (
git push origin feat/amazing-feature) - Open a Pull Request
| Problem | Solution |
|---|---|
| Readiness check fails | Check Redis/Qdrant: docker compose ps |
| 401/403 errors | Ensure X-User-ID header is set |
| Ingest failures | Verify OPENAI_API_KEY and network connectivity |
Distributed under the ISC License.
