services: meshbot: image: ${MESHBOT_IMAGE:?set MESHBOT_IMAGE to your image reference} container_name: meshbot restart: unless-stopped # MeshCore companion is on a USB serial port. Map the host device through to # the container. Override MESHBOT_DEVICE for ttyACM0 etc. devices: - "${MESHBOT_DEVICE:-/dev/ttyUSB0}:${MESHBOT_DEVICE:-/dev/ttyUSB0}" # Some serial chipsets need access to the dialout group on the host. group_add: - dialout environment: MESHBOT_MESHCORE__SERIAL_PORT: ${MESHBOT_DEVICE:-/dev/ttyUSB0} MESHBOT_LLM__BASE_URL: ${MESHBOT_LLM_BASE_URL:?set MESHBOT_LLM_BASE_URL} MESHBOT_LLM__API_KEY: ${MESHBOT_LLM_API_KEY:-not-needed} MESHBOT_LLM__MODEL: ${MESHBOT_LLM_MODEL:?set MESHBOT_LLM_MODEL} volumes: - meshbot-data:/data # Mount your config.toml at /etc/meshbot/config.toml. Anything not set in the # TOML will fall back to defaults; env vars above always win. - ./config.toml:/etc/meshbot/config.toml:ro volumes: meshbot-data: