- Updated configuration and deployment files - Improved system architecture and components - Enhanced documentation and testing - Fixed various issues and added new features 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
112 lines
2.8 KiB
YAML
112 lines
2.8 KiB
YAML
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 |