#!/bin/sh # Render llama-swap config from the template using env knobs, then launch. # Substitutes only ${NGL} ${THREADS} ${CTX} — leaves ${base} and ${PORT} for # llama-swap to resolve itself. set -eu NGL="${NGL:-0}" THREADS="${THREADS:-4}" CTX="${CTX:-8192}" DEFAULT_MODEL="${DEFAULT_MODEL:-gemma-e4b}" TMPL="/config/config.tmpl.yaml" OUT="/tmp/config.yaml" sed \ -e "s|\${NGL}|${NGL}|g" \ -e "s|\${THREADS}|${THREADS}|g" \ -e "s|\${CTX}|${CTX}|g" \ -e "s|\${DEFAULT_MODEL}|${DEFAULT_MODEL}|g" \ "$TMPL" > "$OUT" echo "====================================================================" echo "[entrypoint] rendered $OUT (NGL=$NGL THREADS=$THREADS CTX=$CTX)" echo "====================================================================" cat "$OUT" echo "====================================================================" BIN="$(command -v llama-swap || echo /app/llama-swap)" echo "[entrypoint] launching: $BIN --config $OUT --listen 0.0.0.0:8080" exec "$BIN" --config "$OUT" --listen 0.0.0.0:8080