Files
simplex-chat/apps/simplex-support-bot-light/docker-compose.yml
T
shandGitHub 68916aa90a feat: add simplex-support-bot-light (#7378)
* feat: add simplex-support-bot-light

* feat: package simplex-support-bot-light for docker

* docs: document simplex-support-bot-light

* fix: make a missing config actionable and bounded

* docs: note the attached compose Ctrl+C behaviour

* refactor: use the library for startup and custom data

* refactor: drop the display-name workaround

* style: shorten the startup comment

* build: build the core and the library into the image

* docs: correct where the image type rule comes from

* fix: log what the core said a command got wrong

* build: run the container as the operator's uid

* docs: keep the container uid in .env

* docs: tighten the README
2026-08-17 09:12:47 +01:00

28 lines
1.2 KiB
YAML

services:
support-bot-light:
build:
# The repository root: the image is built from the Haskell core and the
# Python library in this tree, neither of them released.
context: ../..
dockerfile: apps/simplex-support-bot-light/Dockerfile
args:
# Defaults to 1000. Set both to your own ids to own ./state yourself.
USER_UID: ${USER_UID:-1000}
USER_GID: ${USER_GID:-1000}
# Bounded on purpose. A config that will not load is not fixed by retrying,
# and an unbounded policy turns it into a log flood that also makes Ctrl+C
# wait out the grace period. Five is enough to ride out a transient fault.
restart: on-failure:5
volumes:
# Directory, not a single file: bot.image resolves relative paths against
# the directory holding config.toml.
- ./bot-config:/etc/support-bot-light:ro
# Holds the bot's identity, address, roster group and roster. Deleting it
# means a new address and every roster member redoing the handshake.
- ./state:/data
stop_grace_period: 10s
ports:
# GET /health. Published on the host loopback because the endpoint has no
# authentication; widen it only for a monitoring system that needs it.
- "127.0.0.1:7777:8080"