claude-flow
Version:
Ruflo - Enterprise AI agent orchestration for Claude Code. Deploy 60+ specialized agents in coordinated swarms with self-learning, fault-tolerant consensus, vector memory, and MCP integration
118 lines (113 loc) • 3.5 kB
YAML
# Ruflo v3.5 — Docker Compose Profiles
#
# Profiles:
# lite — MCP server only (stdio), minimal footprint
# full — CLI + daemon + all optional deps
# workers — Scalable worker pool (extends docker-compose.workers.yml)
#
# Usage:
# docker compose -f v3/@claude-flow/cli/docker/docker-compose.yml --profile lite up
# docker compose -f v3/@claude-flow/cli/docker/docker-compose.yml --profile full up -d
# docker compose -f v3/@claude-flow/cli/docker/docker-compose.yml --profile workers up -d --scale worker=5
#
# Environment (required for full/workers):
# ANTHROPIC_API_KEY — Your Anthropic API key
services:
# ── lite: MCP server on stdio (~80MB) ──────────────────────────
mcp:
profiles: ["lite"]
build:
context: ../../../..
dockerfile: v3/@claude-flow/cli/docker/Dockerfile
image: ruflo:lite
stdin_open: true
environment:
- NODE_ENV=production
- CLAUDE_FLOW_MCP_TRANSPORT=stdio
deploy:
resources:
limits:
cpus: "1"
memory: 512M
reservations:
cpus: "0.25"
memory: 128M
healthcheck:
test: ["CMD", "ruflo", "doctor", "--quiet"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# ── full: CLI + daemon + optional deps (~800MB) ────────────────
ruflo-full:
profiles: ["full"]
build:
context: ../../../..
dockerfile: v3/@claude-flow/cli/docker/Dockerfile.full
image: ruflo:full
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- NODE_ENV=production
- CLAUDE_FLOW_LOG_LEVEL=${CLAUDE_FLOW_LOG_LEVEL:-info}
- CLAUDE_FLOW_MEMORY_BACKEND=hybrid
volumes:
- ruflo-state:/home/ruflo/.claude-flow
- ruflo-logs:/var/log/ruflo
ports:
- "${RUFLO_MCP_PORT:-3000}:3000"
deploy:
resources:
limits:
cpus: "4"
memory: 8G
reservations:
cpus: "1"
memory: 2G
command: ["ruflo", "daemon", "start", "--foreground"]
healthcheck:
test: ["CMD", "ruflo", "doctor", "--quiet"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
# ── workers: Scalable worker pool ──────────────────────────────
worker:
profiles: ["workers"]
build:
context: ../../../..
dockerfile: v3/@claude-flow/cli/docker/Dockerfile
image: ruflo:lite
environment:
- ANTHROPIC_API_KEY=${ANTHROPIC_API_KEY}
- CLAUDE_CODE_HEADLESS=true
- CLAUDE_CODE_SANDBOX_MODE=${CLAUDE_FLOW_SANDBOX:-strict}
- CLAUDE_FLOW_WORKERS=${CLAUDE_FLOW_WORKERS:-audit,optimize,testgaps}
- NODE_ENV=production
volumes:
- worker-state:/home/ruflo/.claude-flow
- worker-logs:/var/log/ruflo
deploy:
replicas: ${RUFLO_WORKER_REPLICAS:-3}
resources:
limits:
cpus: "2"
memory: 4G
reservations:
cpus: "0.5"
memory: 1G
restart_policy:
condition: on-failure
delay: 5s
max_attempts: 3
command: ["ruflo", "daemon", "start", "--foreground", "--headless"]
healthcheck:
test: ["CMD", "ruflo", "doctor", "--quiet"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
volumes:
ruflo-state:
ruflo-logs:
worker-state:
worker-logs: