- Start Open WebUI, Ollama, and Qdrant with Docker Compose.
- Understand what each service does and how they communicate.
- Verify that the stack is responding before uploading documents.
Project structure
TerminalCode
aulafy-stack/
docker-compose.yml
data/
ollama/
open-webui/
qdrant/docker-compose.yml
TerminalCode
services:
ollama:
image: ollama/ollama:latest
container_name: aulafy-ollama
ports:
- "11434:11434"
volumes:
- ./data/ollama:/root/.ollama
restart: unless-stopped
qdrant:
image: qdrant/qdrant:latest
container_name: aulafy-qdrant
ports:
- "6333:6333"
- "6334:6334"
volumes:
- ./data/qdrant:/qdrant/storage
restart: unless-stopped
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: aulafy-open-webui
ports:
- "3000:8080"
environment:
- OLLAMA_BASE_URL=http://ollama:11434
- VECTOR_DB=qdrant
- QDRANT_URI=http://qdrant:6333
volumes:
- ./data/open-webui:/app/backend/data
depends_on:
- ollama
- qdrant
restart: unless-stoppedStartup
TerminalCode
mkdir aulafy-stack
cd aulafy-stack
# crea docker-compose.yml con el contenido anterior
docker compose up -d
docker compose ps
Download a model
TerminalCode
docker exec -it aulafy-ollama ollama pull qwen3:4b
docker exec -it aulafy-ollama ollama run qwen3:4b
Useful commands
TerminalCode
docker compose logs -f open-webui
docker compose logs -f ollama
docker compose logs -f qdrant
docker compose pull
docker compose up -d
docker compose down