Files
OnceLove-New/OnceLove/oncelove-graphrag/docker-compose.yml
KOSHM-Pig ec21df7aa6 feat: 初始化 OnceLove GraphRAG 项目基础架构
- 添加完整的项目结构,包括前端(Vue3 + Vite)、后端(Fastify)和基础设施配置
- 实现核心 GraphRAG 服务,集成 Neo4j 图数据库和 Qdrant 向量数据库
- 添加用户认证系统和管理员登录界面
- 提供 Docker 容器化部署方案和开发环境配置
- 包含项目文档、API 文档(Swagger)和测试脚本
2026-03-23 00:00:13 +08:00

97 lines
2.2 KiB
YAML

version: "3.9"
services:
neo4j:
image: neo4j:5.26-community
container_name: oncelove-neo4j
restart: unless-stopped
environment:
- NEO4J_AUTH=neo4j/${NEO4J_PASSWORD}
- NEO4J_dbms_default__database=neo4j
- NEO4J_server_memory_heap_initial__size=512m
- NEO4J_server_memory_heap_max__size=1024m
- NEO4J_server_memory_pagecache_size=512m
- NEO4J_server_bolt_advertised__address=neo4j:7687
volumes:
- neo4j_data:/data
- neo4j_logs:/logs
ports:
- "127.0.0.1:7474:7474"
- "127.0.0.1:7687:7687"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:7474 || exit 1"]
interval: 15s
timeout: 5s
retries: 20
networks:
- oncelove_net
qdrant:
image: qdrant/qdrant:v1.13.4
container_name: oncelove-qdrant
restart: unless-stopped
volumes:
- qdrant_data:/qdrant/storage
ports:
- "127.0.0.1:6333:6333"
- "127.0.0.1:6334:6334"
healthcheck:
test: ["CMD-SHELL", "wget -qO- http://localhost:6333/healthz || exit 1"]
interval: 15s
timeout: 5s
retries: 20
networks:
- oncelove_net
api:
build:
context: ./api
container_name: oncelove-api
restart: unless-stopped
env_file:
- .env
environment:
- NODE_ENV=production
- PORT=3000
- APPLICATION_URL=${APPLICATION_URL}
- WEBUI_URL=${WEBUI_URL}
- NEO4J_URI=bolt://neo4j:7687
- NEO4J_USER=neo4j
- NEO4J_PASSWORD=${NEO4J_PASSWORD}
- QDRANT_URL=http://qdrant:6333
- QDRANT_API_KEY=${QDRANT_API_KEY}
- QDRANT_COLLECTION=${QDRANT_COLLECTION}
- EMBEDDING_DIM=${EMBEDDING_DIM}
depends_on:
neo4j:
condition: service_healthy
qdrant:
condition: service_healthy
ports:
- "127.0.0.1:3000:3000"
networks:
- oncelove_net
frontend:
build:
context: ./frontend
args:
- VITE_API_BASE_URL=${APPLICATION_URL}
container_name: oncelove-frontend
restart: unless-stopped
ports:
- "127.0.0.1:8080:80"
networks:
- oncelove_net
depends_on:
- api
volumes:
neo4j_data:
neo4j_logs:
qdrant_data:
networks:
oncelove_net:
driver: bridge