Private chat on your documents: Ollama, Qdrant, Open WebUI
docker-compose stack for a private chat on your documents: Ollama (model), Qdrant (vector database) and Open WebUI (interface).
Access Medium
- Read files or data
- Modify or delete files
- Send data over the internet
- Run commands on the machine : No
Services
- Ollama: runs the model
- Qdrant: vector database
- Open WebUI: chat interface and document upload
Ports : 3000 (interface), 11434 (Ollama), 6333 (Qdrant)
1. docker compose up -d 2. Pull a model: docker compose exec ollama ollama pull llama3.1 3. Open http://localhost:3000, create the admin account, then upload your documents.
docker-compose.yml
services:
ollama:
image: ollama/ollama
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
qdrant:
image: qdrant/qdrant
volumes:
- qdrant:/qdrant/storage
ports:
- "6333:6333"
open-webui:
image: ghcr.io/open-webui/open-webui:main
depends_on: [ollama, qdrant]
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- VECTOR_DB=qdrant
- QDRANT_URI=http://qdrant:6333
volumes:
- open-webui:/app/backend/data
ports:
- "3000:8080"
volumes:
ollama:
qdrant:
open-webui:Estimated cost
Input tokens per call : ≈ 374
| Model | Per call | Per 1,000 calls |
|---|---|---|
| Mistral Large · Mistral AI | €0.00017 | €0.16 |
| DeepSeek Flash · DeepSeek | €0.00010 | €0.10 |
| DeepSeek V4 Pro · DeepSeek | €0.00044 | €0.43 |
| GPT-6 Luna · OpenAI | €0.00003 | €0.03 |
| GPT-6 Sol · OpenAI | €0.00066 | €0.66 |
| Claude Sonnet 5.5 · Anthropic | €0.00066 | €0.66 |
| Claude Opus 5.5 · Anthropic | €0.00132 | €1.32 |
| Self-hosted open-source model (Ollama, vLLM) | €0 in API fees (server cost only) | |
Input cost only, excluding the model's answer. Providers' public standard prices (Mistral AI, DeepSeek, OpenAI, Anthropic) converted from USD to euros at the ECB rate of September 29, 2026. Estimate: 1 token ≈ 3.6 characters.
Common to all 3 regions
Created by the author, no outside source.
Commercial use allowed · credit the author · changes allowed.
Declared access : read files, modify files, send data online.
Hosted in France (Scaleway, Paris). No transfer outside the EU.
European Union · 5/5
No personal data.
No training data: no summary required.
United States · 5/5
No personal data.
No training data: no documentation to publish.
China · 5/5
No personal data.
No training data; AI-generated content published in China must be labelled (2025).
Indicative summary as of 30/09/2026, not a legal certification. Method and sources →
Statistics
Likes : 0 · Comments : 0
Click a counter to show or hide it, hover the chart for details. One view per visitor per day, bots excluded; counting started on 30 September 2026.
- Identifier
- contextetech--private-chat-on-your-documents
- Type
- Stacks
- File
- docker-compose.yml
- Format
- YML
- Size
- 574 bytes
- Encoding
- UTF-8
- Estimated tokens
- ≈ 159
- Language
- English
- License
- MIT
- Commercial use
- Allowed
- Personal data
- None
- Version
- 1.0
- Published on
- October 2, 2026 at 9:54 PM
- Updated on
- October 2, 2026 at 9:54 PM
- Storage
- in database
- Uses
- 0
- Likes
- 0
docker-compose.yml
services:
ollama:
image: ollama/ollama
volumes:
- ollama:/root/.ollama
ports:
- "11434:11434"
qdrant:
image: qdrant/qdrant
volumes:
- qdrant:/qdrant/storage
ports:
- "6333:6333"
open-webui:
image: ghcr.io/open-webui/open-webui:main
depends_on: [ollama, qdrant]
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- VECTOR_DB=qdrant
- QDRANT_URI=http://qdrant:6333
volumes:
- open-webui:/app/backend/data
ports:
- "3000:8080"
volumes:
ollama:
qdrant:
open-webui:
Launch
# enregistrez docker-compose.yml, puis : docker compose up -d docker compose ps
Community
No comments yet. Share your feedback, it will help the next person.