version: "3.9" services: bzzz-minimal: image: bzzz:minimal build: context: .. dockerfile: dockerize/Dockerfile.minimal environment: # Basic BZZZ configuration - BZZZ_AGENT_ID=${BZZZ_AGENT_ID:-bzzz-docker-01} - BZZZ_SPECIALIZATION=${BZZZ_SPECIALIZATION:-general_developer} - BZZZ_MAX_TASKS=${BZZZ_MAX_TASKS:-3} # Network configuration - BZZZ_P2P_PORT=${BZZZ_P2P_PORT:-9000} - BZZZ_API_PORT=${BZZZ_API_PORT:-8080} - BZZZ_HEALTH_PORT=${BZZZ_HEALTH_PORT:-8081} # Logging configuration - LOG_LEVEL=${LOG_LEVEL:-info} - DEBUG=${DEBUG:-} # DHT and P2P settings - BZZZ_DHT_ENABLED=${BZZZ_DHT_ENABLED:-true} - BZZZ_BOOTSTRAP_PEERS=${BZZZ_BOOTSTRAP_PEERS:-} # AI/Ollama configuration - OLLAMA_ENDPOINT=${OLLAMA_ENDPOINT:-http://host.docker.internal:11434} # Licensing (if required) - LICENSE_EMAIL=${LICENSE_EMAIL:-} - LICENSE_KEY=${LICENSE_KEY:-} - CLUSTER_ID=${CLUSTER_ID:-docker-cluster} # Persist data across container restarts volumes: - bzzz_data:/app/data - bzzz_config:/app/config - type: bind source: /tmp/bzzz-ucxi-storage target: /tmp/bzzz-ucxi-storage - type: bind source: /tmp/hcfs-workspaces target: /tmp/hcfs-workspaces # Network ports ports: - "${BZZZ_API_PORT:-8080}:8080" # HTTP API - "${BZZZ_HEALTH_PORT:-8081}:8081" # Health check - "${BZZZ_P2P_PORT:-9000}:9000" # P2P communication # Container resource limits deploy: mode: replicated replicas: 1 update_config: order: start-first parallelism: 1 failure_action: rollback restart_policy: condition: on-failure delay: 10s max_attempts: 3 resources: limits: cpus: "1.0" memory: 1G reservations: cpus: "0.25" memory: 256M # Network configuration networks: - bzzz_net # Host resolution for connecting to host services extra_hosts: - "host.docker.internal:host-gateway" # Logging configuration for container runtime logging: driver: "json-file" options: max-size: "10m" max-file: "3" labels: "service=bzzz" # Health check healthcheck: test: ["CMD", "curl", "-f", "http://localhost:8081/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s # Named volumes for persistence volumes: bzzz_data: driver: local bzzz_config: driver: local # Network for BZZZ communication networks: bzzz_net: driver: overlay attachable: true ipam: driver: default config: - subnet: 10.200.0.0/24