Files
lorabot/docker-compose.yml
T

32 lines
1.4 KiB
YAML

services:
lorabot:
image: ${LORABOT_IMAGE:?set LORABOT_IMAGE to your image reference}
container_name: lorabot
restart: unless-stopped
# MeshCore companion is on a USB serial port. Map the host device through to
# the container. Override LORABOT_DEVICE for ttyACM0 etc.
devices:
- "${LORABOT_DEVICE:-/dev/ttyUSB0}:${LORABOT_DEVICE:-/dev/ttyUSB0}"
# Some serial chipsets need access to the dialout group on the host.
group_add:
- dialout
environment:
LORABOT_MESHCORE__SERIAL_PORT: ${LORABOT_DEVICE:-/dev/ttyUSB0}
LORABOT_LLM__BASE_URL: ${LORABOT_LLM_BASE_URL:?set LORABOT_LLM_BASE_URL}
LORABOT_LLM__API_KEY: ${LORABOT_LLM_API_KEY:-not-needed}
LORABOT_LLM__MODEL: ${LORABOT_LLM_MODEL:?set LORABOT_LLM_MODEL}
# The app defaults to loopback; inside the container we need 0.0.0.0 so the
# docker port mapping below can reach it. Restrict exposure at the host port.
LORABOT_WEB__HOST: ${LORABOT_WEB_HOST:-0.0.0.0}
ports:
# Built-in read-only web UI. Override via LORABOT_WEB_PORT.
- "${LORABOT_WEB_PORT:-8080}:8080"
volumes:
- lorabot-data:/data
# Mount your config.toml at /etc/lorabot/config.toml. Anything not set in the
# TOML will fall back to defaults; env vars above always win.
- ./config.toml:/etc/lorabot/config.toml:ro
volumes:
lorabot-data: