| version: "3.9" |
|
|
| |
| |
| |
| |
| |
|
|
| networks: |
| fact-net: |
| driver: bridge |
|
|
| volumes: |
| qdrant_storage: |
| memgraph_data: |
| redpanda_data: |
| redis_data: |
|
|
| services: |
| |
| |
| |
| qdrant: |
| image: qdrant/qdrant:v1.9.2 |
| container_name: fact-qdrant |
| restart: unless-stopped |
| networks: [fact-net] |
| ports: |
| - "6333:6333" |
| - "6334:6334" |
| volumes: |
| - qdrant_storage:/qdrant/storage |
| environment: |
| QDRANT__SERVICE__GRPC_PORT: 6334 |
| QDRANT__TELEMETRY_DISABLED: "true" |
| healthcheck: |
| test: ["CMD", "curl", "-f", "http://localhost:6333/readyz"] |
| interval: 10s |
| timeout: 5s |
| retries: 5 |
|
|
| |
| |
| |
| |
| memgraph: |
| image: memgraph/memgraph-platform:2.16.0 |
| container_name: fact-memgraph |
| restart: unless-stopped |
| networks: [fact-net] |
| ports: |
| - "7687:7687" |
| - "3000:3000" |
| volumes: |
| - memgraph_data:/var/lib/memgraph |
| environment: |
| MEMGRAPH_USER: memgraph |
| MEMGRAPH_PASSWORD: memgraph123 |
| healthcheck: |
| test: ["CMD", "mg_client", "--host", "localhost", "--port", "7687", "--use-ssl=false", "-q", "RETURN 1;"] |
| interval: 15s |
| timeout: 10s |
| retries: 5 |
|
|
| |
| |
| |
| |
| redpanda: |
| image: redpandadata/redpanda:v24.1.7 |
| container_name: fact-redpanda |
| restart: unless-stopped |
| networks: [fact-net] |
| ports: |
| - "9092:9092" |
| - "9644:9644" |
| - "8081:8081" |
| volumes: |
| - redpanda_data:/var/lib/redpanda/data |
| command: |
| - redpanda |
| - start |
| - --smp=1 |
| - --memory=512M |
| - --overprovisioned |
| - --kafka-addr=PLAINTEXT://0.0.0.0:9092 |
| - --advertise-kafka-addr=PLAINTEXT://redpanda:9092 |
| - --pandaproxy-addr=0.0.0.0:8082 |
| - --advertise-pandaproxy-addr=redpanda:8082 |
| - --schema-registry-addr=0.0.0.0:8081 |
| - --rpc-addr=redpanda:33145 |
| - --advertise-rpc-addr=redpanda:33145 |
| healthcheck: |
| test: ["CMD", "rpk", "cluster", "health"] |
| interval: 15s |
| timeout: 10s |
| retries: 5 |
|
|
| |
| |
| |
| |
| redis-stack: |
| image: redis/redis-stack:7.4.0-v0 |
| container_name: fact-redis |
| restart: unless-stopped |
| networks: [fact-net] |
| ports: |
| - "6379:6379" |
| - "8001:8001" |
| volumes: |
| - redis_data:/data |
| environment: |
| REDIS_ARGS: "--maxmemory 256mb --maxmemory-policy allkeys-lru" |
| healthcheck: |
| test: ["CMD", "redis-cli", "ping"] |
| interval: 10s |
| timeout: 5s |
| retries: 5 |
|
|
| |
| |
| |
| |
| backend: |
| build: |
| context: ./backend |
| dockerfile: Dockerfile |
| container_name: fact-backend |
| restart: unless-stopped |
| networks: [fact-net] |
| ports: |
| - "7860:7860" |
| depends_on: |
| qdrant: |
| condition: service_healthy |
| memgraph: |
| condition: service_healthy |
| redpanda: |
| condition: service_healthy |
| redis-stack: |
| condition: service_healthy |
| environment: |
| |
| GROQ_API_KEY: ${GROQ_API_KEY:-} |
| ANTHROPIC_API_KEY: ${ANTHROPIC_API_KEY:-} |
| X_BEARER_TOKEN: ${X_BEARER_TOKEN:-} |
|
|
| |
| QDRANT_HOST: qdrant |
| QDRANT_PORT: 6333 |
| MEMGRAPH_HOST: memgraph |
| MEMGRAPH_PORT: 7687 |
| MEMGRAPH_PASSWORD: memgraph123 |
| REDPANDA_BROKERS: redpanda:9092 |
| REDIS_URL: redis://redis-stack:6379 |
|
|
| |
| PORT: 7860 |
| LOG_LEVEL: INFO |
| DEMO_MODE: ${DEMO_MODE:-false} |
| volumes: |
| - ./backend:/app |
| command: ["uv", "run", "uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860", "--reload"] |
|
|