version: '3.8' # Development & Testing Stack # All file-based storage (NetworkX + NanoVector + JSON) # Best for: Local development, testing, small deployments services: # LightRAG Application (File-based storage only) lightrag: image: ghcr.io/hkuds/lightrag:latest container_name: lightrag-dev env_file: - .env environment: # Development Storage Configuration (All file-based) LIGHTRAG_GRAPH_STORAGE: NetworkXStorage LIGHTRAG_VECTOR_STORAGE: NanoVectorDBStorage LIGHTRAG_KV_STORAGE: JsonKVStorage LIGHTRAG_DOC_STATUS_STORAGE: JsonDocStatusStorage # Development settings MAX_ASYNC: 2 MAX_TOKENS: 16384 ENABLE_LLM_CACHE: true ENABLE_LLM_CACHE_FOR_EXTRACT: false LOG_LEVEL: DEBUG # No external database connections needed ports: - "9621:9621" volumes: - ./data/inputs:/app/inputs - ./data/rag_storage:/app/rag_storage # Mount additional volumes for file-based storage persistence - ./data/dev-storage:/app/dev-storage networks: - lightrag-dev-network restart: unless-stopped healthcheck: test: ["CMD", "curl", "-f", "http://localhost:9621/health"] interval: 30s timeout: 10s retries: 3 # Optional: Lightweight file browser for development filebrowser: image: filebrowser/filebrowser:latest container_name: lightrag-dev-filebrowser environment: - FB_BASEURL=/files ports: - "8080:80" volumes: - ./data:/srv/data networks: - lightrag-dev-network restart: unless-stopped profiles: - tools # Optional: Lightweight monitoring for development portainer: image: portainer/portainer-ce:latest container_name: lightrag-dev-portainer ports: - "9000:9000" volumes: - /var/run/docker.sock:/var/run/docker.sock - portainer_data:/data networks: - lightrag-dev-network restart: unless-stopped profiles: - tools volumes: portainer_data: networks: lightrag-dev-network: driver: bridge