- Separar servicios base de servicios opcionales con perfiles.
- Guardar estado en volúmenes persistentes.
- Evitar el clásico “funciona en mi terminal, pero no sé repetirlo”.
services:
qdrant:
image: qdrant/qdrant:latest
ports: ["6333:6333"]
volumes:
- qdrant_data:/qdrant/storage
open-webui:
image: ghcr.io/open-webui/open-webui:main
ports: ["3000:8080"]
volumes:
- open_webui_data:/app/backend/data
environment:
- OLLAMA_BASE_URL=http://host.docker.internal:11434
n8n:
image: n8nio/n8n:latest
profiles: ["automation"]
ports: ["5678:5678"]
volumes:
- n8n_data:/home/node/.n8n
environment:
- N8N_ENCRYPTION_KEY=change-me
volumes:
qdrant_data:
open_webui_data:
n8n_data:# Base: Qdrant + Open WebUI docker compose up -d # Añadir automatización con n8n docker compose --profile automation up -d # Ver estado y logs docker compose ps docker compose logs -f open-webui # Backup mínimo docker run --rm -v open_webui_data:/data -v "$PWD:/backup" alpine tar czf /backup/open-webui-backup.tgz /data
Fuentes oficiales
Si has guardado la evidencia de esta lección, continúa con «Ollama y Open WebUI». Si no, repite la comprobación antes de avanzar.