Skip to content

scrobot/ragler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

109 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🧠 RAGler

The human-in-the-loop RAG knowledge platform

CI Docs Version License Node TypeScript NestJS Next.js Qdrant Redis PRs Welcome

Docs Β· API Reference Β· Report Bug Β· Request Feature


✨ What is RAGler?

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

🎬 Demo

RAGler Demo β€” walkthrough of dashboard, collections, ingestion, sessions, chat, and settings

πŸ—οΈ Architecture

β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”     β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚   Frontend   │────▢│   Backend    │────▢│    Qdrant    β”‚
β”‚  (Next.js)   β”‚     β”‚  (NestJS)    β”‚     β”‚  (vectors)   β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”˜     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
                            β”‚
                     β”Œβ”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”
                     β”‚    Redis     β”‚
                     β”‚  (sessions)  β”‚
                     β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜

πŸš€ Quick Start

Prerequisites

Requirement Version
Node.js 20+
pnpm 9+
Docker latest
OpenAI Key β€”

1. Clone & start infrastructure

git clone https://github.com/scrobot/ragler.git
cd ragler
docker compose up -d redis qdrant

2. Start backend

cd backend
pnpm install
cp .env.example .env
# set OPENAI_API_KEY in .env
pnpm start:dev

3. Verify

curl http://localhost:3000/api/health/liveness
# β†’ {"status":"ok"}

4. Start frontend

cd frontend
pnpm install
pnpm dev
# β†’ http://localhost:3000

5. (Optional) Start MCP server

cd mcp-server
pnpm install && pnpm build && pnpm start

🐳 Docker Deployment

The fastest way to run RAGler β€” all services in one command.

Using pre-built images (recommended)

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 -d

This 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

Build from source

docker compose up -d --build

Debug tools (RedisInsight)

docker compose --profile debug up -d
# β†’ RedisInsight at http://localhost:5540

Stop & clean up

docker compose down           # stop containers
docker compose down -v        # stop + delete volumes

βš™οΈ Configuration

Backend 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

🚩 Feature Flags

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)

πŸ“– Documentation

Resource Link
πŸ“š Full docs scrobot.github.io/ragler
πŸ”§ API Swagger localhost:3000/api/docs
πŸ›οΈ Architecture docs/architecture
πŸš€ Getting started docs/getting-started

πŸ§ͺ Testing

cd backend
pnpm test        # run all tests
pnpm lint        # lint check
pnpm typecheck   # type check

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the project
  2. Create your feature branch (git checkout -b feat/amazing-feature)
  3. Commit using conventional commits (git commit -m 'feat: add amazing feature')
  4. Push to the branch (git push origin feat/amazing-feature)
  5. Open a Pull Request

πŸ› Troubleshooting

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

πŸ“„ License

Distributed under the ISC License.


Built with ❀️ by scrobot

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors