# MeshAI Docker Compose Configuration # # Usage: # docker compose up -d # Start bot + web config # docker compose logs -f # View logs # # Web config: http://localhost:7682 (TUI in browser) # # Config is stored in the meshai_data volume at /data/config.yaml # # For serial connection (USB), uncomment the devices section below # For TCP connection, configure via web interface services: meshai: # Pull from GitHub Container Registry # image: ghcr.io/zvx-echo6/meshai:latest # Uncomment to build locally instead of pulling build: context: . dockerfile: Dockerfile # args: # UID: ${UID:-1000} # GID: ${GID:-1000} container_name: meshai restart: unless-stopped # Uncomment for USB serial connection to Meshtastic device # devices: # - /dev/ttyUSB0:/dev/ttyUSB0 # - /dev/ttyACM0:/dev/ttyACM0 ports: # Web-based config interface (ttyd) - "7682:7682" volumes: # Persistent data (database, config) - meshai_data:/data # Run interactively for first-time setup wizard stdin_open: true tty: true environment: # API key can be set here or in config.yaml - LLM_API_KEY=${LLM_API_KEY:-} # Limit resources deploy: resources: limits: memory: 3G reservations: memory: 64M healthcheck: test: ["CMD-SHELL", "test -f /tmp/meshai.pid && kill -0 $(cat /tmp/meshai.pid) 2>/dev/null || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 15s logging: driver: "json-file" options: max-size: "10m" max-file: "3" volumes: meshai_data: name: meshai_data networks: default: name: meshai_network