services: neo4j: image: neo4j:5-community container_name: mirofish-neo4j environment: NEO4J_AUTH: neo4j/${NEO4J_PASSWORD:-mirofish123} ports: - "7474:7474" - "7687:7687" volumes: - neo4j-data:/data - neo4j-logs:/logs healthcheck: test: ["CMD-SHELL", "cypher-shell -u neo4j -p ${NEO4J_PASSWORD:-mirofish123} 'RETURN 1' || exit 1"] interval: 10s timeout: 5s retries: 10 start_period: 30s restart: unless-stopped mirofish: image: ghcr.io/666ghj/mirofish:latest # 加速镜像(如拉取缓慢可替换上方地址) # image: ghcr.nju.edu.cn/666ghj/mirofish:latest container_name: mirofish env_file: - .env environment: # In-Docker override; host-mode (`npm run dev`) uses the bolt://localhost:7687 default from Config. NEO4J_URI: bolt://neo4j:7687 # Embeddings default to a local Ollama daemon. In Docker the host daemon # is reached via `host.docker.internal:11434`. The `.env.example` Ollama # block already targets that URL — if you keep the `.env` defaults here, # set EMBEDDING_BASE_URL=http://host.docker.internal:11434/v1 to override # the host-mode default of http://localhost:11434/v1. EMBEDDING_BASE_URL: http://host.docker.internal:11434/v1 depends_on: neo4j: condition: service_healthy ports: - "3000:3000" - "5001:5001" restart: unless-stopped volumes: - ./backend/uploads:/app/backend/uploads volumes: neo4j-data: neo4j-logs: