#!/bin/sh # Web frontend container: bokfweb (login gate), ttyd (browser terminal) # and Caddy (routing on :8790, behind the host's TLS proxy). The gate and # ttyd listen on 127.0.0.1 only. Each helper is restarted if it dies; Caddy # is the main process, so the container stops (and compose restarts it) # when Caddy does. set -eu export BOKFD_SOCKET="${BOKFD_SOCKET:-/run/bokfd/bokfd.sock}" export XDG_DATA_HOME=/tmp/caddy-data XDG_CONFIG_HOME=/tmp/caddy-config keep() { while :; do "$@" || true echo "web: $1 exited, restarting" >&2 sleep 1 done } keep bokfweb & keep ttyd -i 127.0.0.1 -p 7681 -b /web/tty -a -W -O \ -m "${BOKF_WEB_MAX_SESSIONS:-20}" \ -t titleFixed=bokf -t fontSize=15 -t disableLeaveAlert=true \ bokftui-web & exec caddy run --config /etc/caddy/Caddyfile --adapter caddyfile