| version: "3.9" |
|
|
| |
| |
| |
|
|
| services: |
|
|
| |
| qdrant: |
| image: qdrant/qdrant:v1.12.0 |
| container_name: fact_qdrant |
| ports: |
| - "6333:6333" |
| - "6334:6334" |
| volumes: |
| - qdrant_data:/qdrant/storage |
| environment: |
| QDRANT__SERVICE__HTTP_PORT: 6333 |
| QDRANT__SERVICE__GRPC_PORT: 6334 |
| QDRANT__LOG_LEVEL: INFO |
| healthcheck: |
| test: ["CMD", "curl", "-f", "http://localhost:6333/healthz"] |
| interval: 10s |
| timeout: 5s |
| retries: 5 |
| restart: unless-stopped |
|
|
| |
| memgraph: |
| image: memgraph/memgraph:2.19.0 |
| container_name: fact_memgraph |
| ports: |
| - "7687:7687" |
| - "7444:7444" |
| volumes: |
| - memgraph_data:/var/lib/memgraph |
| command: > |
| --storage-mode=IN_MEMORY_TRANSACTIONAL |
| --log-level=WARNING |
| --query-execution-timeout-sec=30 |
| healthcheck: |
| test: ["CMD", "echo", "RETURN 1;" , "|", "mgconsole"] |
| interval: 15s |
| timeout: 5s |
| retries: 5 |
| restart: unless-stopped |
|
|
| |
| redpanda: |
| image: redpandadata/redpanda:v24.2.0 |
| container_name: fact_redpanda |
| ports: |
| - "9092:9092" |
| - "9644:9644" |
| - "8081:8081" |
| - "8082:8082" |
| volumes: |
| - redpanda_data:/var/lib/redpanda/data |
| command: |
| - redpanda start |
| - --kafka-addr internal://0.0.0.0:9092,external://0.0.0.0:9093 |
| - --advertise-kafka-addr internal://redpanda:9092,external://localhost:9093 |
| - --pandaproxy-addr internal://0.0.0.0:8082,external://0.0.0.0:18082 |
| - --schema-registry-addr internal://0.0.0.0:8081,external://0.0.0.0:18081 |
| - --rpc-addr redpanda:33145 |
| - --advertise-rpc-addr redpanda:33145 |
| - --smp 1 |
| - --memory 1G |
| - --mode dev-container |
| - --overprovisioned |
| healthcheck: |
| test: ["CMD-SHELL", "rpk cluster health | grep -E 'Healthy:.+true'"] |
| interval: 15s |
| timeout: 10s |
| retries: 10 |
| restart: unless-stopped |
|
|
| |
| redis: |
| image: redis/redis-stack:7.4.0-v0 |
| container_name: fact_redis |
| ports: |
| - "6379:6379" |
| - "8001:8001" |
| volumes: |
| - redis_data:/data |
| environment: |
| REDIS_ARGS: "--save 60 1 --loglevel warning" |
| healthcheck: |
| test: ["CMD", "redis-cli", "ping"] |
| interval: 10s |
| timeout: 5s |
| retries: 5 |
| restart: unless-stopped |
|
|
| |
| backend: |
| build: |
| context: . |
| dockerfile: Dockerfile |
| container_name: fact_backend |
| ports: |
| - "7860:7860" |
| environment: |
| - REDIS_URL=redis://redis:6379 |
| - QDRANT_URL=http://qdrant:6333 |
| - MEMGRAPH_HOST=memgraph |
| - MEMGRAPH_PORT=7687 |
| - REDPANDA_BROKERS=redpanda:9092 |
| - GROQ_API_KEY=${GROQ_API_KEY} |
| - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} |
| - X_BEARER_TOKEN=${X_BEARER_TOKEN} |
| - PORT=7860 |
| depends_on: |
| qdrant: |
| condition: service_healthy |
| redis: |
| condition: service_healthy |
| restart: unless-stopped |
|
|
| volumes: |
| qdrant_data: |
| memgraph_data: |
| redpanda_data: |
| redis_data: |
|
|