How to Deploy RagApp with Docker — A Step-by-Step Tutorial
A hands-on tutorial on deploying RagApp with Docker — from pulling the image to chatting with your documents in under 5 minutes. Includes Ollama setup, Docker Compose, and common pitfalls.
📋 How to Deploy RagApp with Docker in Under 5 Minutes
I'm going to walk you through exactly how I set up RagApp — from zero to chatting with my documents. No prior RAG experience needed. If you have Docker installed, you're 90% of the way there.
🚀 Need a quick reference?
System requirements, Docker commands, and configs — all on the tool page.
View RagApp Tool Page →Step 1: Pull and Run (30 seconds)
This is embarrassingly simple. Open a terminal and run:
docker run -p 8000:8000 ragapp/ragapp:latest
That's it. While it downloads (the image is about 1.2GB — grab a coffee if you're on slow internet), let me explain what's happening. The container starts a Python backend (LlamaIndex) and serves both the Admin UI and Chat UI on port 8000.
Wait until you see something like Uvicorn running on http://0.0.0.0:8000 in the logs. That's your signal it's ready.
Step 2: Configure in Admin UI (2 minutes)
Open http://localhost:8000/admin in your browser. You'll see the configuration dashboard.
Choose Your LLM
You need at least one LLM provider configured. Here's what I tested:
| Provider | Setup | My Take |
|---|---|---|
| OpenAI | Paste your API key | Fastest, most reliable. GPT-4o handles complex docs well |
| Gemini | Paste your Google API key | Good free tier, solid multilingual support |
| Ollama (local) | Run Ollama separately, point RagApp to it | Fully offline, no API costs. Needs a decent GPU for good models |
Pro tip: I spent 10 minutes debugging why Ollama wasn't working. The issue? RagApp in Docker needs to reach Ollama's host. On Linux, use --add-host host.docker.internal:host-gateway or set the Ollama URL to http://172.17.0.1:11434. Don't make my mistake!
Add Your Data
Point RagApp at your documents. It supports PDFs, text files, markdown, and web URLs. I threw a mix of technical whitepapers and internal documentation at it — the chunking handled it well out of the box. If you want to tweak chunk size or overlap, the Admin UI has sliders for that.
Step 3: Chat with Your Data (1 minute)
Once configured, navigate to http://localhost:8000 (no /admin). You'll see the Chat UI.
Ask a question about your documents. Something like:
"What were the key findings from the Q3 technical review?"
If you see a coherent, sourced answer — congratulations, your RAG is working. If not, double-check that you actually ingested documents (this got me — I configured everything but forgot to upload files).
Step 4 (Optional): Deploy with Docker Compose
For a more production-like setup with volume persistence:
services:
ragapp:
image: ragapp/ragapp:latest
restart: unless-stopped
ports:
- 8080:8080
volumes:
- ./data/ragapp:/data
I use port 8080 here intentionally — avoids conflicts if you already have something on 8000. The /data volume persists your configuration and document index across container restarts.
Common Pitfalls I Hit
- "Connection refused" on Ollama — See the pro tip above. Docker networking is the issue, not RagApp.
- No answers after configuration — You need to actually upload documents in the Admin UI, not just set up the LLM. Embarrassingly, I missed this step.
- Slow first query — The first question after startup takes ~5-10 seconds as the embedding model initializes. Subsequent queries are near-instant.
Final Thoughts
RagApp isn't trying to be the most advanced RAG platform out there. What it does well is remove friction. Within 5 minutes of deciding to try it, I was getting answers from my documents. For internal tools, demos, and small-team knowledge bases, that's exactly what you need.
🚀 Explore RagApp on Run This Ai
Docker Compose configs, system requirements, installation guides, and more — all in one place.
View RagApp Tool Page →