version: "3.9" services: backend: build: context: ./backend dockerfile: Dockerfile ports: - "8000:8000" environment: - BIOMNI_LLM_PROVIDER=${BIOMNI_LLM_PROVIDER:-deepseek} - DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY} - DEEPSEEK_BASE_URL=${DEEPSEEK_BASE_URL:-https://api.deepseek.com/v1} - DEEPSEEK_MODEL_NAME=${DEEPSEEK_MODEL_NAME:-deepseek-chat} - GEMINI_API_KEY=${GEMINI_API_KEY} - GEMINI_MODEL_NAME=${GEMINI_MODEL_NAME:-gemini-2.5-flash} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} - ANTHROPIC_MODEL_NAME=${ANTHROPIC_MODEL_NAME:-claude-3-5-sonnet-latest} - OPENAI_API_KEY=${OPENAI_API_KEY} - OPENAI_MODEL_NAME=${OPENAI_MODEL_NAME:-gpt-4.1-mini} volumes: - ./data:/app/data # Biomni 数据湖持久化 # 关键安全设置:限制容器权限 security_opt: - no-new-privileges:true read_only: false # Biomni 需要写文件 network_mode: bridge frontend: build: ./frontend ports: - "3000:80" depends_on: - backend