AgenticResearch / docker-compose.yml
kahsuen's picture
Upload 1083 files
cf0f589 verified
version: "3.9"
services:
deep-research:
build:
context: ./deep-research
dockerfile: Dockerfile
image: deep-research
container_name: deep-research
environment:
- GOOGLE_GENERATIVE_AI_API_KEY=${GOOGLE_GENERATIVE_AI_API_KEY}
- GOOGLE_GENERATIVE_AI_API_BASE_URL=${GOOGLE_GENERATIVE_AI_API_BASE_URL}
- API_PROXY_BASE_URL=${API_PROXY_BASE_URL}
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- OPENROUTER_API_BASE_URL=${OPENROUTER_API_BASE_URL}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- OPENAI_API_BASE_URL=${OPENAI_API_BASE_URL}
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- ANTHROPIC_API_BASE_URL=${ANTHROPIC_API_BASE_URL}
- DEEPSEEK_API_KEY=${DEEPSEEK_API_KEY}
- DEEPSEEK_API_BASE_URL=${DEEPSEEK_API_BASE_URL}
- XAI_API_KEY=${XAI_API_KEY}
- XAI_API_BASE_URL=${XAI_API_BASE_URL}
- OPENAI_COMPATIBLE_API_KEY=${OPENAI_COMPATIBLE_API_KEY}
- OPENAI_COMPATIBLE_API_BASE_URL=${OPENAI_COMPATIBLE_API_BASE_URL}
- OLLAMA_API_BASE_URL=${OLLAMA_API_BASE_URL}
- TAVILY_API_KEY=${TAVILY_API_KEY}
- TAVILY_API_BASE_URL=${TAVILY_API_BASE_URL}
- FIRECRAWL_API_KEY=${FIRECRAWL_API_KEY}
- FIRECRAWL_API_BASE_URL=${FIRECRAWL_API_BASE_URL}
- BOCHA_API_KEY=${BOCHA_API_KEY}
- BOCHA_API_BASE_URL=${BOCHA_API_BASE_URL}
- SEARXNG_API_BASE_URL=${SEARXNG_API_BASE_URL}
- ACCESS_PASSWORD=${ACCESS_PASSWORD}
- HEAD_SCRIPTS=${HEAD_SCRIPTS}
- NEXT_PUBLIC_DISABLED_AI_PROVIDER=${NEXT_PUBLIC_DISABLED_AI_PROVIDER}
- NEXT_PUBLIC_DISABLED_SEARCH_PROVIDER=${NEXT_PUBLIC_DISABLED_SEARCH_PROVIDER}
- NEXT_PUBLIC_MODEL_LIST=${NEXT_PUBLIC_MODEL_LIST}
- MCP_AGENT_API_URL=http://mcp-agents:8080
ports:
- "3333:3000"
volumes:
- deep-research-data:/app/data
depends_on:
- mcp-agents
- ai-co-scientist
networks:
- deep-research-network
ai-co-scientist:
build:
context: ./ai-co-scientist
dockerfile: Dockerfile
image: ai-co-scientist
container_name: ai-co-scientist
environment:
- OPENROUTER_API_KEY=${OPENROUTER_API_KEY}
- OPENAI_API_KEY=${OPENAI_API_KEY}
- MCP_AGENT_API_URL=http://mcp-agents:8080
ports:
- "8000:8000"
volumes:
- ai-co-scientist-data:/app/data
depends_on:
- mcp-agents
networks:
- deep-research-network
mcp-agents:
build:
context: ./mcp-agents
dockerfile: Dockerfile
image: mcp-agents
container_name: mcp-agents
environment:
- MODEL_CHOICE=${MODEL_CHOICE:-gpt-4o-mini}
- BASE_URL=${BASE_URL:-https://api.openai.com/v1}
- LLM_API_KEY=${OPENAI_API_KEY}
- COGNEE_MCP_URL=http://cognee-mcp:8082
- AI_CO_SCIENTIST_URL=http://ai-co-scientist:8000
ports:
- "8080:8080"
volumes:
- mcp-agents-data:/app/data
depends_on:
- cognee-mcp
networks:
- deep-research-network
sequential-thinking:
image: node:22-alpine
container_name: sequential-thinking
command: npx -y @modelcontextprotocol/server-sequential-thinking
ports:
- "8081:8081"
networks:
- deep-research-network
cognee-mcp:
build:
context: ./cognee/cognee-mcp
dockerfile: Dockerfile
image: cognee-mcp
container_name: cognee-mcp
environment:
- ENV=local
- TOKENIZERS_PARALLELISM=false
- LLM_API_KEY=${OPENAI_API_KEY}
- PYTHONUNBUFFERED=1
- MCP_LOG_LEVEL=DEBUG
- PYTHONPATH=/app
ports:
- "8082:8082"
volumes:
- cognee-data:/app/data
networks:
- deep-research-network
- cognee-network
neo4j:
image: neo4j:latest
container_name: neo4j
profiles:
- cognee-deps
ports:
- "7474:7474"
- "7687:7687"
environment:
- NEO4J_AUTH=neo4j/pleaseletmein
- NEO4J_PLUGINS=["apoc", "graph-data-science"]
networks:
- cognee-network
volumes:
- neo4j-data:/data
chromadb:
image: chromadb/chroma:0.6.3
container_name: chromadb
profiles:
- cognee-deps
environment:
- IS_PERSISTENT=TRUE
- CHROMA_SERVER_AUTH_CREDENTIALS=${VECTOR_DB_KEY:-chromadb-key}
- CHROMA_SERVER_AUTH_CREDENTIALS_PROVIDER=chromadb.auth.token.TokenConfigServerAuthCredentialsProvider
- CHROMA_SERVER_AUTH_TOKEN_TRANSPORT_HEADER=AUTHORIZATION
- CHROMA_SERVER_AUTH_PROVIDER=chromadb.auth.token.TokenAuthServerProvider
volumes:
- chromadb-data:/chroma/chroma/
networks:
- cognee-network
ports:
- "3002:8000"
networks:
deep-research-network:
name: deep-research-network
cognee-network:
name: cognee-network
volumes:
deep-research-data:
ai-co-scientist-data:
mcp-agents-data:
cognee-data:
neo4j-data:
chromadb-data: