rag-chatbot / docker-compose.yml
Abeshith's picture
RAG Chatbot with LangChain, FastAPI, and service layer architecture
64d7fdf
version: '3.8'
services:
# Main RAG application
app:
build: .
container_name: rag-chatbot
ports:
- "7860:7860"
environment:
- GROQ_API_KEY=${GROQ_API_KEY}
- QDRANT_API_KEY=${QDRANT_API_KEY}
- REDIS_PASSWORD=${REDIS_PASSWORD}
env_file:
- .env
volumes:
- ./uploads:/app/uploads
- ./logs:/app/logs
depends_on:
- redis
restart: unless-stopped
networks:
- rag-network
# Redis for caching
redis:
image: redis:7-alpine
container_name: rag-redis
ports:
- "6379:6379"
command: redis-server --appendonly yes
volumes:
- redis-data:/data
restart: unless-stopped
networks:
- rag-network
# Celery worker (optional)
celery-worker:
build: .
container_name: rag-celery-worker
command: celery -A app.tasks.celery_app worker --loglevel=info
environment:
- GROQ_API_KEY=${GROQ_API_KEY}
- QDRANT_API_KEY=${QDRANT_API_KEY}
- REDIS_PASSWORD=${REDIS_PASSWORD}
env_file:
- .env
depends_on:
- redis
- app
restart: unless-stopped
networks:
- rag-network
volumes:
redis-data:
networks:
rag-network:
driver: bridge