app:
  id: meshtastic
  name: Meshtastic
  version: 2.5.0
  description: Open-source mesh networking for LoRa radios. Create decentralized communication networks.
  
  container:
    image: meshtastic/meshtasticd:2.5.6
    image_signature: cosign://...
    pull_policy: verify-signature
    
  dependencies:
    - storage: 1Gi
    
  resources:
    cpu_limit: 1
    memory_limit: 512Mi
    disk_limit: 1Gi
    
  security:
    capabilities: [NET_ADMIN, SYS_ADMIN]  # Required for LoRa radio access
    readonly_root: false  # Needs write access for device management
    network_policy: host  # Requires host network for radio access
    apparmor_profile: meshtastic
    
  ports:
    - host: 4403
      container: 4403
      protocol: tcp  # HTTP API
    - host: 1883
      container: 1883
      protocol: tcp  # MQTT (optional)
    
  devices:
    - /dev/ttyUSB0  # LoRa radio device (if connected)
    - /dev/ttyACM0  # Alternative device path
    
  volumes:
    - type: bind
      source: /var/lib/archipelago/meshtastic
      target: /app/data
      options: [rw]
      
  environment:
    - MESHTASTIC_PORT=/dev/ttyUSB0
    - MESHTASTIC_SERIAL=true
    
  health_check:
    type: http
    endpoint: http://localhost:4403
    path: /health
    interval: 30s
    timeout: 5s
    retries: 3
    
  networking:
    mesh_enabled: true
    local_network_access: true
