| |
| |
| |
| |
|
|
| 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: |
|
|