Current docker setup.

This commit is contained in:
Yuguo Qin
2025-02-17 03:03:14 +08:00
parent 200319f293
commit 1cc56f1cb5
3 changed files with 118 additions and 43 deletions

View File

@@ -1,20 +1,19 @@
### Server Configuration ### Server Configuration
# HOST=0.0.0.0 HOST=0.0.0.0
# PORT=9621 PORT=9621
# NAMESPACE_PREFIX=lightrag # separating data from difference Lightrag instances NAMESPACE_PREFIX=lightrag_1 # separating data from difference Lightrag instances
# CORS_ORIGINS=http://localhost:3000,http://localhost:8080
### Optional SSL Configuration ### Optional SSL Configuration
# SSL=true #SSL=true
# SSL_CERTFILE=/path/to/cert.pem #SSL_CERTFILE=/path/to/cert.pem
# SSL_KEYFILE=/path/to/key.pem #SSL_KEYFILE=/path/to/key.pem
### Security (empty for no api-key is needed) ### Security (empty for no api-key is needed)
# LIGHTRAG_API_KEY=your-secure-api-key-here # LIGHTRAG_API_KEY=your-secure-api-key-here
### Directory Configuration ### Directory Configuration
# WORKING_DIR=<absolute_path_for_working_dir> # WORKING_DIR=./rag_storage
# INPUT_DIR=<absolute_path_for_doc_input_dir> # INPUT_DIR=./inputs
### Logging level ### Logging level
LOG_LEVEL=INFO LOG_LEVEL=INFO
@@ -38,15 +37,15 @@ MAX_EMBED_TOKENS=8192
### LLM Configuration (Use valid host. For local services, you can use host.docker.internal) ### LLM Configuration (Use valid host. For local services, you can use host.docker.internal)
### Ollama example ### Ollama example
LLM_BINDING=ollama # LLM_BINDING=ollama
LLM_BINDING_HOST=http://host.docker.internal:11434 # LLM_BINDING_HOST=http://host.docker.internal:11434
LLM_MODEL=mistral-nemo:latest # LLM_MODEL=mistral-nemo:latest
### OpenAI alike example ### OpenAI alike example
# LLM_BINDING=openai LLM_BINDING=openai
# LLM_MODEL=deepseek-chat LLM_MODEL=deepseek-chat
# LLM_BINDING_HOST=https://api.deepseek.com LLM_BINDING_HOST=https://api.deepseek.com
# LLM_BINDING_API_KEY=your_api_key LLM_BINDING_API_KEY=your_api_key
### for OpenAI LLM (LLM_BINDING_API_KEY take priority) ### for OpenAI LLM (LLM_BINDING_API_KEY take priority)
# OPENAI_API_KEY=your_api_key # OPENAI_API_KEY=your_api_key
@@ -61,6 +60,7 @@ LLM_MODEL=mistral-nemo:latest
# Ollama example # Ollama example
EMBEDDING_BINDING=ollama EMBEDDING_BINDING=ollama
EMBEDDING_BINDING_HOST=http://host.docker.internal:11434 EMBEDDING_BINDING_HOST=http://host.docker.internal:11434
EMBEDDING_BINDING_API_KEY=
EMBEDDING_MODEL=bge-m3:latest EMBEDDING_MODEL=bge-m3:latest
### Lollms example ### Lollms example
@@ -78,56 +78,60 @@ EMBEDDING_MODEL=bge-m3:latest
# AZURE_EMBEDDING_API_VERSION=2023-05-15 # AZURE_EMBEDDING_API_VERSION=2023-05-15
### Data storage selection ### Data storage selection
# LIGHTRAG_KV_STORAGE=PGKVStorage LIGHTRAG_KV_STORAGE=RedisKVStorage
# LIGHTRAG_VECTOR_STORAGE=PGVectorStorage LIGHTRAG_VECTOR_STORAGE=QdrantVectorDBStorage
# LIGHTRAG_GRAPH_STORAGE=PGGraphStorage LIGHTRAG_GRAPH_STORAGE=Neo4JStorage
# LIGHTRAG_DOC_STATUS_STORAGE=PGDocStatusStorage LIGHTRAG_DOC_STATUS_STORAGE=MongoDocStatusStorage
### Oracle Database Configuration ### Oracle Database Configuration
ORACLE_DSN=localhost:1521/XEPDB1 #ORACLE_DSN=localhost:1521/XEPDB1
ORACLE_USER=your_username #ORACLE_USER=your_username
ORACLE_PASSWORD='your_password' #ORACLE_PASSWORD='your_password'
ORACLE_CONFIG_DIR=/path/to/oracle/config #ORACLE_CONFIG_DIR=/path/to/oracle/config
#ORACLE_WALLET_LOCATION=/path/to/wallet # optional #ORACLE_WALLET_LOCATION=/path/to/wallet # optional
#ORACLE_WALLET_PASSWORD='your_password' # optional #ORACLE_WALLET_PASSWORD='your_password' # optional
#ORACLE_WORKSPACE=default # separating all data from difference Lightrag instances(deprecated, use NAMESPACE_PREFIX in future) #ORACLE_WORKSPACE=default # separating all data from difference Lightrag instances(deprecated, use NAMESPACE_PREFIX in future)
### TiDB Configuration ### TiDB Configuration
TIDB_HOST=localhost #TIDB_HOST=localhost
TIDB_PORT=4000 #TIDB_PORT=4000
TIDB_USER=your_username #TIDB_USER=your_username
TIDB_PASSWORD='your_password' #TIDB_PASSWORD='your_password'
TIDB_DATABASE=your_database #TIDB_DATABASE=your_database
#TIDB_WORKSPACE=default # separating all data from difference Lightrag instances(deprecated, use NAMESPACE_PREFIX in future) #TIDB_WORKSPACE=default # separating all data from difference Lightrag instances(deprecated, use NAMESPACE_PREFIX in future)
### PostgreSQL Configuration ### PostgreSQL Configuration
POSTGRES_HOST=localhost # POSTGRES_HOST=postgres
POSTGRES_PORT=5432 # POSTGRES_PORT=5432
POSTGRES_USER=your_username # POSTGRES_USER=postgres
POSTGRES_PASSWORD='your_password' # POSTGRES_PASSWORD='your_password'
POSTGRES_DATABASE=your_database # POSTGRES_DATABASE=lightrag
#POSTGRES_WORKSPACE=default # separating all data from difference Lightrag instances(deprecated, use NAMESPACE_PREFIX in future) #POSTGRES_WORKSPACE=default # separating all data from difference Lightrag instances(deprecated, use NAMESPACE_PREFIX in future)
### Independent AGM Configuration(not for AMG embedded in PostreSQL) ### Independent AGM Configuration(not for AMG embedded in PostreSQL)
AGE_POSTGRES_DB= #AGE_POSTGRES_DB=
AGE_POSTGRES_USER= #AGE_POSTGRES_USER=
AGE_POSTGRES_PASSWORD= #AGE_POSTGRES_PASSWORD=
AGE_POSTGRES_HOST= #AGE_POSTGRES_HOST=
# AGE_POSTGRES_PORT=8529 # AGE_POSTGRES_PORT=8529
# AGE Graph Name(apply to PostgreSQL and independent AGM) # AGE Graph Name(apply to PostgreSQL and independent AGM)
# AGE_GRAPH_NAME=lightrag # deprecated, use NAME_SPACE_PREFIX instead # AGE_GRAPH_NAME=lightrag # deprecated, use NAME_SPACE_PREFIX instead
### Neo4j Configuration ### Neo4j Configuration
NEO4J_URI=neo4j+s://xxxxxxxx.databases.neo4j.io NEO4J_URI=neo4j+s://neo4j
NEO4J_USERNAME=neo4j NEO4J_USERNAME=neo4j
NEO4J_PASSWORD='your_password' NEO4J_PASSWORD='your_password'
NEO4J_DATABASE=neo4j # IMPORTANT: free version of neo4j does not support multiple databases, therefore we force it to neo4j
### MongoDB Configuration ### MongoDB Configuration
MONGODB_URI=mongodb://root:root@localhost:27017/ MONGO_URI=mongodb://mongodb:root@mongodb:27017/
MONGODB_DATABASE=LightRAG MONGO_DATABASE=lightrag
MONGODB_GRAPH=false # deprecated (keep for backward compatibility) MONGODB_GRAPH=false # deprecated (keep for backward compatibility)
### Qdrant ### Qdrant
QDRANT_URL=http://localhost:16333 QDRANT_URL=http://qdrant:16333
QDRANT_API_KEY=your-api-key # 可选 QDRANT_API_KEY=your-api-key # 可选
### Redis
REDIS_URI=redis://redis:6379

View File

@@ -1,10 +1,30 @@
version: '3.8' version: '3.8'
name: ${NAMESPACE_PREFIX}
services: services:
neo4j:
image: neo4j
environment:
NEO4J_AUTH: ${NEO4J_USERNAME}/${NEO4J_PASSWORD}
NEO4J_apoc_export_file_enabled: true
NEO4J_apoc_import_file_enabled: true
NEO4J_apoc_import_file_use__neo4j__config: true
NEO4J_PLUGINS: '["apoc"]'
volumes:
- ./data/neo4j/data:/data
- ./data/neo4j/plugins:/plugins
- ./data/neo4j/logs:/logs
ports:
- "127.0.0.1:7474:7474" # HTTP
- "127.0.0.1:7687:7687" # Bolt
networks:
- lightrag_net
restart: always
lightrag: lightrag:
build: . build: .
ports: ports:
- "${PORT:-9621}:9621" - "127.0.0.1:9621:9621"
volumes: volumes:
- ./data/rag_storage:/app/data/rag_storage - ./data/rag_storage:/app/data/rag_storage
- ./data/inputs:/app/data/inputs - ./data/inputs:/app/data/inputs
@@ -16,8 +36,15 @@ services:
restart: unless-stopped restart: unless-stopped
networks: networks:
- lightrag_net - lightrag_net
- lightrag_db_network
extra_hosts: extra_hosts:
- "host.docker.internal:host-gateway" - "host.docker.internal:host-gateway"
depends_on:
- neo4j
networks: networks:
lightrag_net: lightrag_net:
driver: bridge driver: bridge
lightrag_db_network:
name: lightrag_db_network
external: true

View File

@@ -0,0 +1,44 @@
version: '3.8'
name: lightrag_db
services:
mongodb:
image: mongo
environment:
MONGO_INITDB_ROOT_USERNAME: ${MONGO_INITDB_ROOT_USERNAME}
MONGO_INITDB_ROOT_PASSWORD: ${MONGO_INITDB_ROOT_PASSWORD}
volumes:
- ./volumes/mongodb:/data/db
# ports:
# - "27017:27017"
networks:
- lightrag_db_network
restart: always
qdrant:
image: qdrant/qdrant
volumes:
- ./volumes/qdrant:/qdrant/storage
- ./volumes/qdrant/snapshots:/qdrant/snapshots
environment:
QDRANT__SERVICE__API_KEY: ${VECTOR_STORE_DB_API_KEY}
# ports:
# - "6333:6333" # REST API
# - "6334:6334" # GRPC
networks:
- lightrag_db_network
restart: always
redis:
image: redis:alpine
volumes:
- ./volumes/redis:/data
# ports:
# - "127.0.0.1:6379:6379"
networks:
- lightrag_db_network
restart: always
networks:
lightrag_db_network:
name: lightrag_db_network