Self-hosted boilerplate for building AI chatbots over your documents. Python-only stack. No US data transfers. Runs on an EU server from €5/mo.
We use Brevo (EU-based) to process signups. No data leaves the EU.
Your client asks "where does our data go?" and you don't have a good answer. That's the gap EuroRAG fills.
Your client's data leaves the EU the moment a user asks a question. OpenAI, Pinecone, Supabase — all US-hosted. Your DPO wants a Data Processing Agreement. Good luck getting one that satisfies Article 46.
Every component runs on your server — inference, vectors, database, files. Nothing leaves your VPS unless you explicitly configure it. Mistral (French) when you want a cloud API. Full data residency tracking per provider.
You find a RAG boilerplate. It's React + Node.js + Python + Docker orchestration. Your team knows Python. Now you need a JavaScript developer just to change the chat UI.
One language, end to end. FastAPI handles the backend, Jinja2 handles the templates, HTMX handles interactivity. The same developer who writes the API can modify every page. No npm install, no webpack, no build step.
Open-source RAG apps like AnythingLLM work great out of the box — until your client needs a custom workflow, branded UI, or an API integration. Ripping apart a full application is harder than building from a foundation.
Source code designed to be modified. Add custom API routes, override templates, swap services — your changes are preserved when the core engine updates. It's a starting point for building products, not a product you install.
A production-tested RAG stack you can deploy this week and customize for years.
Designed for Hetzner CX22 (2 vCPU, 4GB RAM) in an EU datacenter. One docker compose up and you're live. No Kubernetes, no managed services, no surprise bills. Use Mistral API for chat or point to your own GPU server.
Data residency tracking per provider — LOCAL, EU, or US with CLOUD Act warnings. Deletion cascades across database, vectors, search index, and disk. Audit logging. Strict EU mode blocks non-compliant providers before data leaves your server. CSRF protection, rate limiting, and path traversal prevention built in.
FastAPI + Jinja2 + HTMX. One language from API routes to page templates. No React build pipeline, no Node.js runtime, no separate frontend deployment. Your Python developer owns everything.
BM25 keyword search combined with vector similarity using Reciprocal Rank Fusion. Catches exact terms that vector-only search misses — product codes, legal references, technical identifiers. Configurable weights to tune for your documents.
Upload PDFs, DOCX, PPTX, XLSX, CSV, HTML, TXT, and Markdown. Powered by IBM Docling — preserves table structure from PDFs and spreadsheets, handles scanned documents with OCR. All processing on your server.
Ollama for fully local inference. Mistral API for EU-hosted cloud. OpenAI or Groq when you need them. Self-hosted vLLM or LocalAI for production throughput. Switch by changing one environment variable — no code changes.
Full /v1/chat/completions and /v1/embeddings endpoints. Point any existing library — Python openai, LangChain, LlamaIndex — at EuroRAG by changing the base URL. SSE streaming in the built-in chat UI.
Add API routes, override templates, swap service implementations, hook into the RAG pipeline — all from a custom/ directory that's preserved when you pull core updates. No merge conflicts, no lost changes.
Five steps. No sales calls, no onboarding, no waiting for provisioning.
Purchase and download the complete codebase. Unzip it on your server or local machine.
Copy .env.example to .env. Pick your path: Mistral API for simplicity, Ollama for fully local, or point to your own GPU server. The included infrastructure guide walks through each option with cost projections.
Run docker compose up -d. The app, database, and vector store start together. Run eurorag-doctor to verify all components are connected and healthy.
Drop your PDFs, Word docs, or spreadsheets into the UI. Once indexed, ask questions and get answers with source citations. Test the API with any OpenAI-compatible client.
Add custom API routes for your client's workflows. Override templates to match their branding. Swap the embedding model for better multilingual support. It's your code — build the product they need.
RAG tools serve different buyers with different goals. Here's how the landscape breaks down.
All three are solid options. The right choice depends on whether you need a SaaS boilerplate (ChatRAG), a self-hosted boilerplate (EuroRAG), or a ready-to-use app (AnythingLLM).
Perpetual license — your code never expires. Every tier includes 12 months of updates. Renew when you want, skip when you don't.
All tiers include full source code and a perpetual license — your code never stops working
Nothing changes with your deployment — your version of EuroRAG continues to work exactly as it does today. It's yours permanently. You just won't receive new features, compatibility patches, or security updates until you renew. Renewal is the same price whether you renew the day after expiry or two years later — no late fees, no penalty for gaps.
EuroRAG gives you the technical infrastructure for GDPR compliance — data residency tracking, deletion cascades across all storage layers, audit logs, consent management, and the ability to run everything locally or on EU servers. However, GDPR compliance also involves organizational measures (privacy policies, DPAs, etc.) that depend on your specific use case. We provide the tools; you'll still need legal review for your deployment.
Any model that runs on Ollama (Mistral, Llama 3, Qwen, Gemma, etc.) for fully local inference. Any OpenAI-compatible API (Mistral API, OpenAI, Groq, Together AI) for cloud. Or self-hosted inference servers like vLLM or LocalAI. Switch providers by changing environment variables — no code changes needed. The included infrastructure guide helps you pick the right setup for your budget and privacy requirements.
PDF, DOCX, PPTX, XLSX, CSV, HTML, TXT, and Markdown. Document processing is powered by IBM Docling, which handles table-aware extraction (preserves table structure from PDFs and spreadsheets) and OCR for scanned documents. All processing happens on your server — document content is never sent to external services.
Data source connectors for automated syncing from folders, web crawlers, and Nextcloud are included in the Professional tier. The Starter tier supports document upload through the API and UI, which covers most use cases for getting started. If you need automated ingestion from external sources, the Professional tier adds these connectors along with admin tools.
Probably not. EuroRAG is source code — a boilerplate for developers and agencies building RAG products. You need to be comfortable with Python, Docker, and basic server administration. If you want a ready-to-use app, AnythingLLM might be a better fit.
React is powerful, but it means your team needs JavaScript expertise, a Node.js build pipeline, and a separate frontend deployment. EuroRAG uses Jinja2 templates + HTMX, which means the same Python developer who writes the API can also modify the UI. For a boilerplate you're meant to customize, this is a significant advantage.
They're different products for different goals. ChatRAG ($199+) and StartKit.AI ($199+) are built on Next.js/Node.js and designed for building chatbot SaaS businesses with Stripe billing and cloud infrastructure. EuroRAG is for building private, self-hosted knowledge bases on your own server with GDPR compliance built into the architecture. If you need SaaS monetization and cloud deployment, look at ChatRAG. If you need data sovereignty and a Python stack, EuroRAG is the fit.
The application itself (FastAPI, ChromaDB, document processing) runs comfortably on a Hetzner CX22 (2 vCPU, 4GB RAM) at €4.35/mo in an EU datacenter. For LLM inference, you have two practical options: use an EU-hosted API like Mistral (pay-per-token, no GPU needed), or point EuroRAG at a separate GPU server running Ollama. Embedding models like nomic-embed-text can run on the same VPS. The included infrastructure guide covers exact costs for each setup.
Yes. EuroRAG works with any language your chosen LLM supports, and ships with configuration guidance for multilingual embedding models like BGE-M3 and Qwen3-Embedding that handle EU languages well. Since there's no hardcoded English dependency in the pipeline, you can run it entirely in German, French, or any other language.
April 2026. Leave your email above and you'll get a single notification when it's available — no drip campaigns, no spam.
Since the product is complete source code, it can't be returned after download, so we don't offer refunds. If you have questions before purchasing or want to see specific code examples, get in touch — we're happy to help you decide if EuroRAG is the right fit before you buy.
Get the source code. Deploy on your server. Own your AI stack.
We use Brevo (EU-based) to process signups. No data leaves the EU.