* Partial implementation of phase-0 * Partial implementation of phase-1 * add report * add postgress * Revert "add postgress" This reverts commit 27778dc6bb3906b5220dd386e47fe32ca7415332. * remove junk * Cleaned up annd setup docs * update docs * moved report * Updated load_markdown_files function: Now returns tuples with (content, title, relative_path) instead of just (content, title) * fixes to load docs script and more env variables for llm configuration * update prod values * update docs * apolo docs support with linking * update docs to reflect url conventions and mapping with docs * Adds ingress and forwardAuth configurations Adds ingress configuration to expose the application. Adds forwardAuth configuration to enable user authentication. Includes middleware to strip headers. * Adds ingress and forward authentication middleware support
148 lines
No EOL
3.7 KiB
YAML
148 lines
No EOL
3.7 KiB
YAML
version: '3.8'
|
|
|
|
# Docker All-in-One Stack
|
|
# Neo4j + Qdrant + Redis + MongoDB
|
|
# Best for: Containerized deployments, cloud environments
|
|
|
|
services:
|
|
# LightRAG Application
|
|
lightrag:
|
|
image: ghcr.io/hkuds/lightrag:latest
|
|
container_name: lightrag-aio
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# All-in-One Storage Configuration
|
|
LIGHTRAG_GRAPH_STORAGE: Neo4JStorage
|
|
LIGHTRAG_VECTOR_STORAGE: QdrantVectorDBStorage
|
|
LIGHTRAG_KV_STORAGE: RedisKVStorage
|
|
LIGHTRAG_DOC_STATUS_STORAGE: MongoDocStatusStorage
|
|
|
|
# Service Connection Details
|
|
NEO4J_URI: bolt://neo4j:7687
|
|
NEO4J_USERNAME: neo4j
|
|
NEO4J_PASSWORD: lightrag_neo4j_pass
|
|
|
|
QDRANT_URL: http://qdrant:6333
|
|
|
|
REDIS_URI: redis://redis:6379
|
|
|
|
MONGO_URI: mongodb://lightrag_user:lightrag_pass@mongodb:27017/lightrag?authSource=admin
|
|
MONGO_DATABASE: lightrag
|
|
|
|
# Performance settings
|
|
MAX_ASYNC: 6
|
|
MAX_TOKENS: 32768
|
|
ENABLE_LLM_CACHE: true
|
|
ENABLE_LLM_CACHE_FOR_EXTRACT: true
|
|
ports:
|
|
- "9621:9621"
|
|
depends_on:
|
|
mongodb:
|
|
condition: service_healthy
|
|
redis:
|
|
condition: service_healthy
|
|
neo4j:
|
|
condition: service_started
|
|
qdrant:
|
|
condition: service_healthy
|
|
volumes:
|
|
- ./data/inputs:/app/inputs
|
|
- ./data/rag_storage:/app/rag_storage
|
|
networks:
|
|
- lightrag-aio-network
|
|
restart: unless-stopped
|
|
|
|
# MongoDB for Document Status Storage
|
|
mongodb:
|
|
image: mongo:7
|
|
container_name: lightrag-aio-mongodb
|
|
environment:
|
|
MONGO_INITDB_ROOT_USERNAME: admin
|
|
MONGO_INITDB_ROOT_PASSWORD: admin_pass
|
|
MONGO_INITDB_DATABASE: lightrag
|
|
ports:
|
|
- "27017:27017"
|
|
volumes:
|
|
- mongodb_data:/data/db
|
|
- ./mongo-init-aio:/docker-entrypoint-initdb.d
|
|
healthcheck:
|
|
test: ["CMD", "mongosh", "--eval", "db.runCommand('ping').ok", "--quiet"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- lightrag-aio-network
|
|
restart: unless-stopped
|
|
|
|
# Redis for KV Storage
|
|
redis:
|
|
image: redis:7-alpine
|
|
container_name: lightrag-aio-redis
|
|
command: redis-server --appendonly yes --maxmemory 1gb --maxmemory-policy allkeys-lru
|
|
ports:
|
|
- "6379:6379"
|
|
volumes:
|
|
- redis_data:/data
|
|
healthcheck:
|
|
test: ["CMD", "redis-cli", "ping"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- lightrag-aio-network
|
|
restart: unless-stopped
|
|
|
|
# Neo4j for Graph Storage
|
|
neo4j:
|
|
image: neo4j:5.15
|
|
container_name: lightrag-aio-neo4j
|
|
environment:
|
|
NEO4J_AUTH: neo4j/lightrag_neo4j_pass
|
|
NEO4J_PLUGINS: '["apoc"]'
|
|
NEO4J_dbms_security_procedures_unrestricted: apoc.*
|
|
NEO4J_dbms_memory_heap_initial__size: 512M
|
|
NEO4J_dbms_memory_heap_max__size: 1G
|
|
NEO4J_dbms_memory_pagecache_size: 512M
|
|
ports:
|
|
- "7474:7474"
|
|
- "7687:7687"
|
|
volumes:
|
|
- neo4j_data:/data
|
|
- neo4j_logs:/logs
|
|
networks:
|
|
- lightrag-aio-network
|
|
restart: unless-stopped
|
|
|
|
# Qdrant Vector Database
|
|
qdrant:
|
|
image: qdrant/qdrant:latest
|
|
container_name: lightrag-aio-qdrant
|
|
environment:
|
|
QDRANT__SERVICE__HTTP_PORT: 6333
|
|
QDRANT__SERVICE__GRPC_PORT: 6334
|
|
QDRANT__LOG_LEVEL: INFO
|
|
ports:
|
|
- "6333:6333"
|
|
- "6334:6334"
|
|
volumes:
|
|
- qdrant_data:/qdrant/storage
|
|
healthcheck:
|
|
test: ["CMD", "curl", "-f", "http://localhost:6333/health"]
|
|
interval: 30s
|
|
timeout: 20s
|
|
retries: 3
|
|
networks:
|
|
- lightrag-aio-network
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
mongodb_data:
|
|
redis_data:
|
|
neo4j_data:
|
|
neo4j_logs:
|
|
qdrant_data:
|
|
|
|
networks:
|
|
lightrag-aio-network:
|
|
driver: bridge |