Self-hosted boilerplate for building AI chatbots over your documents. Python-only stack. Data stays in the EU by default. Runs on a €7/mo VPS.
Upload PDFs, DOCX, or spreadsheets. Ask questions. Get answers with source citations. GDPR compliance is architectural: deletion cascades across database, vector store, search index, and disk. Per-provider data residency tracking. Strict EU Mode blocks non-compliant providers. Works with Mistral, Scaleway, OVHcloud, or local Ollama.



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 someone hits send. Major LLM providers, Pinecone, Supabase: all US-hosted and subject to the CLOUD Act. The vendor's template DPA won't satisfy a rigorous Article 46 audit.
Every component runs on your server: inference, vectors, database, files. Nothing leaves your VPS unless you explicitly configure it. Strict EU mode (enabled by default) blocks non-compliant providers before data is sent. Mistral or Scaleway (both French, both EU-hosted) when you want an EU cloud API. Full data residency tracking per provider.
Most RAG boilerplates are React on the frontend, Node.js in the middle, Python in the back, plus Docker orchestration gluing it all together. Your team knows Python. Now you need a second hire just to move a button in 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. And no second hire.
Open-source RAG apps work fine once installed, until your client needs a custom workflow, branded UI, or an integration their existing systems don't support. Ripping apart a finished application is slower than building from a clean foundation.
Source code designed to be modified, not just deployed. Add custom API routes, override templates, swap services. Your changes live in a custom/ directory that's never touched by core updates. It's a starting point for building products, not a product you're afraid to touch.
Any VPS with Docker in any EU datacenter. One
docker compose up and five containers start:
app, worker, Redis, ChromaDB, and Ollama. No Kubernetes,
no managed services, no surprise bills. Use a cloud LLM
API for chat or point to your own GPU server.
PDF, DOCX, PPTX, XLSX, CSV, HTML, TXT, Markdown. Smart OCR routing detects text-based PDFs and skips the heavy extraction pipeline - 20× faster than running everything through OCR. Scanned documents still get full layout-aware extraction. Chunks preserve page numbers, section headings, and content types into retrieval. A Redis worker queue processes everything in the background.
Ollama for fully local inference. EU-hosted cloud APIs: Mistral, Scaleway, OVHcloud, IONOS - all EU-headquartered, none subject to the US CLOUD Act. Any OpenAI-compatible endpoint works out of the box. Strict EU Mode blocks non-compliant providers before data leaves your server. Switch models per conversation from the chat UI.
BM25 keyword search fused with vector similarity using Reciprocal Rank Fusion. Pure vector search misses exact terms - product codes, legal references, technical identifiers - because embeddings blur them into semantic neighbours. EuroRAG runs both in parallel so 'Article 17' returns Article 17. Each user gets an isolated search index - no cross-user data leakage, even through keyword queries.
Deletion cascades across database, vectors, search index, and disk - no orphaned personal data in any storage layer. Audit logging tracks 22 action types. Users export their data as JSON or ZIP. Configurable retention with automatic cleanup. Consent enforcement on registration with withdrawal support.
SSRF protection across all connectors. Per-endpoint rate limits (auth: 5/min, chat: 20/min, upload: 10/min). File content validation with libmagic, not just extension checking. Security headers: CSP, HSTS, X-Frame-Options, X-Content-Type-Options. MaxBodySize middleware prevents memory exhaustion. Path traversal prevention on all file operations.
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 vector stores or
embedding providers, hook into the RAG pipeline at 9 event
points - all from a custom/ directory that
survives when you pull core updates. No merge conflicts.
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.
Five steps. No sales calls, no onboarding, no waiting for provisioning.
Purchase Professional and you'll get access to a private git repository. Clone it onto your server or local machine. No zip downloads, no manual updates, just git pull when a new release ships.
Copy .env.example to .env. Pick your path: Mistral or Scaleway 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. Five containers start together: app, worker, Redis, ChromaDB, and Ollama. Skip the Ollama container if you're using Mistral or Scaleway API instead. The worker is what enables async document processing. Verify everything is healthy with curl http://localhost:8000/health. It returns component status.
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.
A quick overview of three common approaches. For the full comparison across all five options (build-it-yourself, generic framework, ready-to-use app, SaaS boilerplate, and EuroRAG), see the full comparison page.
All three are solid options. The right choice depends on whether you need a SaaS boilerplate (ChatRAG/StartKit.AI), a self-hosted boilerplate (EuroRAG), or a ready-to-use app (AnythingLLM). See the full comparison →
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 deployment keeps running even if you never buy another thing from us. The code and updates are delivered through a private GitHub repository, or as a download if you'd rather skip GitHub.
A RAG chatbot that processes documents and generates answers while meeting EU GDPR requirements: data residency controls, deletion cascades across all storage layers, audit logging, consent management, and the ability to run entirely on EU infrastructure without US data transfers. With Strict EU mode enabled (the default), non-compliant providers are blocked before data leaves your server.
EuroRAG builds GDPR compliance into the architecture: Article 17 erasure across vector stores, per-provider data residency tracking, audit logging, and Strict EU Mode that blocks non-compliant providers. Other tools treat compliance as a deployment-time choice. EuroRAG is also a boilerplate (source code you customize), whereas AnythingLLM is a ready-to-use application and LangChain is a library for building pipelines from scratch.
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 for cloud: EU-hosted options include Mistral, Scaleway, OVHcloud, IONOS, and Gcore (all EU-headquartered, no US CLOUD Act exposure). OpenAI, Groq, and Together AI also work but are blocked by default under Strict EU mode. 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, Nextcloud, and databases 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 Starter / $269 Complete) and StartKit.AI ($199–399, one-time perpetual license) 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.
Yes, except for LLM inference. The application itself (FastAPI, hybrid search, ChromaDB, document processing, even the embedding model) runs comfortably on a 2 vCPU / 4GB EU VPS (Hetzner CX22, ~€7/mo). Chat inference is the only heavy part, and you have two options: an EU-hosted API like Mistral or Scaleway (pay per token, typically €3–10/mo at small-team usage), or your own GPU server running Ollama if you want zero external calls. Realistic all-in for a production deployment on EU infrastructure: €8–16/mo. The included deployment guide walks through each setup with exact steps and current prices.
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.
The Starter and Professional tiers are available now. The Enterprise tier launches Fall 2026. Join our newsletter below to get notified the moment it ships. We send occasional updates about new features, security patches, and deployment guides.
Since the product is complete source code, it can't be returned after download, so we don't offer refunds. By purchasing EuroRAG, you request immediate access to the private repository and acknowledge that you lose your 14-day right of withdrawal under EU Directive 2011/83/EU Article 16(m) once repository access is granted. 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.
Yes. Under your single license you may build and deploy an unlimited number of applications for your clients, with no per-client or per-project fee, provided you never provide the Software source code to any third party, including your clients. Your clients receive the deployed application only, and never receive the Software source code as a development starting point. This license does not transfer to your clients.
At checkout you provide your GitHub username, and you're invited to the private repository automatically, typically within a minute of payment. Clone, configure your .env, and docker compose up. Prefer not to use GitHub? We'll send a download instead; just reply to your purchase email.
The full repository is private, but we're happy to share specific examples: how the deletion cascade works, what a connector implementation looks like, how the template override system is structured. Get in touch with what you'd like to see. The architecture documentation shipped with the product is generated and verified against the actual code, so what's described is what you get.
Checkout handles this automatically. EU businesses with a valid VAT ID are reverse-charged (no VAT added; you account for it locally). You'll receive a compliant invoice by email after purchase. We're an EU (Lithuanian) entity, so cross-border EU purchases are straightforward for your accounting.
We send occasional emails about our product news, features, security updates, including launch notifications for Starter (July 15, 2026) and Enterprise (Fall 2026).
We use Brevo (EU-based) to process signups. No data leaves the EU.