32 lines
1.4 KiB
YAML
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:
|