# تشغيل وكيل الفرع الكامل (dev) — يعمل مع veedon-engine-dev على نفس الشبكة.
# يثبت دورة الفرع الحقيقية: تسجيل بصمة → اعتماد → OTA config → تنزيل نموذج →
# توليد إعدادات المحرك وإعادة تشغيله → رصد أحداث وتحويلها للسحابة.
#
#   docker compose -f docker-compose.yml -f docker-compose.agent.yml up -d
#
# ملاحظة dev: بلا host fingerprint mounts (ويندوز) — البصمة من معرّفات الحاوية،
# ويُكتشف كـ VM (WSL2) لذا الفرع التجريبي allow_vm=true.

services:
  mosquitto:                       # وسيط MQTT: Frigate ينشر الأحداث، VDE يشترك
    image: eclipse-mosquitto:2
    container_name: veedon-mosquitto
    restart: unless-stopped
    command: sh -c "printf 'listener 1883 0.0.0.0\nallow_anonymous true\n' > /m.conf; exec mosquitto -c /m.conf"

  veedon-agent-dev:
    build:
      context: ..                  # مجلد edge/ ليشمل حزمة vde
      dockerfile: agent/Dockerfile
    image: veedon-ai/edge-agent:latest
    container_name: veedon-agent-dev
    restart: unless-stopped
    environment:
      - VEEDON_CLOUD_URL=http://host.docker.internal:8600
      - VEEDON_DEVICE_TOKEN=${VEEDON_DEVICE_TOKEN}
      - VEEDON_ENGINE_URL=http://veedon-engine-dev:5000
      - VEEDON_ENGINE_CONTAINER=veedon-engine-dev
      - VEEDON_MQTT_HOST=mosquitto
      - VEEDON_MODULE_PUBKEY=${VEEDON_MODULE_PUBKEY:-}
    extra_hosts:
      - "host.docker.internal:host-gateway"
    volumes:
      - ./config:/config
      - ./models:/models
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - veedon-engine-dev
      - mosquitto
