Get RAG Modulo up and running in minutes with this comprehensive quick start guide.
Before you begin, ensure you have the following installed:
- Docker & Docker Compose V2 - Install Docker Desktop
- Python 3.12+ (for local development)
- Node.js 18+ (for frontend development)
- Git - Install Git
The fastest way to get started is using our pre-built Docker images.
git clone https://github.com/manavgup/rag-modulo.git
cd rag-modulo# Copy the example environment file
cp env.example .env
# Edit .env with your API keys
nano .env # or use your preferred editor# Start with pre-built images (recommended)
make run-ghcrThat's it! 🎉 The application should now be running.
Check that all services are running:
# Check container status
docker compose ps
# View logs
make logs| Service | URL | Description |
|---|---|---|
| Frontend | http://localhost:3000 | React web interface |
| Backend API | http://localhost:8000 | FastAPI backend |
| MLFlow | http://localhost:5001 | Experiment tracking |
| MinIO Console | http://localhost:9001 | Object storage |
For developers who want to build and run locally.
# Initialize development environment
make dev-init
# This creates:
# - .env.dev (development configuration)
# - .env (production configuration)# Build all development images
make dev-build
# This builds:
# - Backend development image
# - Frontend development image
# - Test image# Start development environment
make dev-up
# Validate everything is working
make dev-validate# Restart with latest changes
make dev-restart
# View logs
make dev-logs
# Check status
make dev-status
# Stop environment
make dev-downPerfect for cloud development without local setup.
- Go to the repository: https://github.com/manavgup/rag_modulo
- Click "Code" → "Codespaces"
- Click "Create codespace" on your branch
- Wait for environment to load (2-3 minutes)
The environment is automatically configured with:
- All dependencies installed
- Development environment ready
- Ports forwarded for testing
Services are automatically available at:
- Frontend: https://your-codespace-url-3000.preview.app.github.dev
- Backend: https://your-codespace-url-8000.preview.app.github.dev
Edit your .env file with the following required variables:
# Database Configuration
VECTOR_DB=milvus
MILVUS_HOST=localhost
MILVUS_PORT=19530
DB_HOST=localhost
DB_PORT=5432
# LLM Provider Settings (choose one or more)
WATSONX_INSTANCE_ID=your-instance-id
WATSONX_APIKEY=your-api-key
OPENAI_API_KEY=your-openai-key
ANTHROPIC_API_KEY=your-anthropic-key
# Application Settings
EMBEDDING_MODEL=all-minilm-l6-v2
DATA_DIR=/app/data# Authentication (for production)
IBM_CLIENT_ID=your-client-id
IBM_CLIENT_SECRET=your-client-secret
# Development Mode
DEVELOPMENT_MODE=true
SKIP_AUTH=true
TESTING=true# Check all services are healthy
make dev-validate
# Test backend API
curl http://localhost:8000/health
# Test frontend
curl http://localhost:3000# Run quick tests
make test-atomic
# Run comprehensive tests
make test-all# Using CLI
rag-cli collections create --name "my-first-collection"
# Or using the web interface at http://localhost:3000# Upload a document
rag-cli documents upload --collection-id <collection-id> --file document.pdf
# Or use the web interface# Ask a question
rag-cli search query --collection-id <collection-id> --query "What is this document about?"
# Or use the web interface🐳 Docker Issues
Problem: Services fail to start
# Check Docker is running
docker --version
# Check service logs
make logs
# Restart services
make stop-containers
make run-services🔐 Authentication Issues
Problem: Login attempts fail
- Ensure OIDC configuration is correct in
.env - Check IBM Cloud credentials
- Verify redirect URLs match your setup
🧪 Test Failures
Problem: Tests failing locally
# Run tests in Docker
make test testfile=tests/unit/test_example.py
# Or use development environment
make dev-test- 📚 Documentation: Check our comprehensive docs
- 🐛 Issues: Report bugs
- 💬 Discussions: Ask questions
- 🔧 Troubleshooting: Common issues
Now that you have RAG Modulo running, explore these resources:
- 📚 Full Documentation - Comprehensive guides
- 🛠️ Development Guide - Development best practices
- 🧪 Testing Guide - Testing strategies
- 🚀 Deployment Guide - Production deployment
- 🖥️ CLI Guide - Command-line interface
- Use Docker: It's the easiest way to get started
- Check Logs: Use
make logsto debug issues - Validate Setup: Run
make dev-validateto check everything - Start Small: Begin with simple documents and queries
- Read Documentation: Our docs are comprehensive and helpful
Ready to build amazing RAG applications? 🚀
📚 Explore Documentation • 🛠️ Development Guide • 🧪 Testing Guide