Ukweli / docker-compose.yml
Benard John
Initial commit
42a0d15
Raw
History Blame Contribute Delete
1.99 kB
# =============================================================================
# Ukweli — Local Development Docker Compose
# Spins up PostgreSQL, Qdrant, and Redis alongside the app
# =============================================================================
services:
app:
build:
context: .
dockerfile: Dockerfile
ports:
- "8000:7860"
environment:
- APP_ENV=development
- APP_DEBUG=true
- APP_PORT=7860
- DATABASE_URL=postgresql+asyncpg://ukweli:ukweli_dev@postgres:5432/ukweli
- QDRANT_URL=http://qdrant:6333
- REDIS_URL=redis://redis:6379
- DOCUMENT_STORAGE_PATH=/data/documents
- HF_TOKEN=${HF_TOKEN:-}
volumes:
- ./app:/app/app
- ./config:/app/config
- ukweli_docs:/data/documents
- ukweli_logs:/data/logs
depends_on:
postgres:
condition: service_healthy
qdrant:
condition: service_started
redis:
condition: service_healthy
restart: unless-stopped
postgres:
image: postgres:16-alpine
environment:
POSTGRES_USER: ukweli
POSTGRES_PASSWORD: ukweli_dev
POSTGRES_DB: ukweli
ports:
- "5432:5432"
volumes:
- ukweli_pgdata:/var/lib/postgresql/data
healthcheck:
test: ["CMD-SHELL", "pg_isready -U ukweli -d ukweli"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
qdrant:
image: qdrant/qdrant:latest
ports:
- "6333:6333"
- "6334:6334"
volumes:
- ukweli_qdrant:/qdrant/storage
environment:
- QDRANT__SERVICE__GRPC_PORT=6334
restart: unless-stopped
redis:
image: redis:7-alpine
ports:
- "6379:6379"
volumes:
- ukweli_redis:/data
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 5s
timeout: 5s
retries: 5
restart: unless-stopped
volumes:
ukweli_pgdata:
ukweli_qdrant:
ukweli_redis:
ukweli_docs:
ukweli_logs: