version: "3.8" services: # Web application (Next.js) web: build: context: . dockerfile: apps/web/Dockerfile ports: - "3000:3000" environment: - NODE_ENV=production - GROQ_API_KEY=${GROQ_API_KEY} - OPENAI_API_KEY=${OPENAI_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} restart: unless-stopped networks: - prezvik-network # API server (Express) api: build: context: . dockerfile: apps/api/Dockerfile ports: - "3001:3001" environment: - NODE_ENV=production - GROQ_API_KEY=${GROQ_API_KEY} - OPENAI_API_KEY=${OPENAI_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} restart: unless-stopped networks: - prezvik-network # CLI tool (for command-line usage) cli: build: context: . dockerfile: apps/cli/Dockerfile environment: - NODE_ENV=production - GROQ_API_KEY=${GROQ_API_KEY} - OPENAI_API_KEY=${OPENAI_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} networks: - prezvik-network profiles: - cli # Only start when explicitly requested # MCP Server (for AI agent integration) mcp-server: build: context: . dockerfile: apps/mcp-server/Dockerfile environment: - NODE_ENV=production - GROQ_API_KEY=${GROQ_API_KEY} - OPENAI_API_KEY=${OPENAI_API_KEY} - ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY} networks: - prezvik-network profiles: - mcp # Only start when explicitly requested networks: prezvik-network: driver: bridge