7cd7eaff8b
Allow configuring how long the worker model stays resident on the Ollama
target after a request via FOREMAN_KEEP_ALIVE env var. Accepts Ollama
duration strings ("-1" forever, "0" unload, "15m", "1h", etc). Defaults
to "-1" (pin forever). The embedder warm-up is unaffected and always
uses keep_alive=-1.
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
49 lines
1.3 KiB
Bash
49 lines
1.3 KiB
Bash
# === foreman daemon configuration ===
|
|
|
|
# Listen address (default: :8080)
|
|
FOREMAN_ADDR=:8080
|
|
|
|
# Ollama target URL (required — the Mac's Tailscale address)
|
|
FOREMAN_OLLAMA_URL=http://100.x.x.x:11434
|
|
|
|
# Outbound bearer token for Ollama target (optional)
|
|
FOREMAN_OLLAMA_TOKEN=
|
|
|
|
# Inbound bearer token foreman requires of its callers (optional)
|
|
FOREMAN_TOKEN=change-me-to-a-secret
|
|
|
|
# === Model configuration ===
|
|
|
|
# Always-resident embedding model (pinned in slot 1)
|
|
FOREMAN_EMBED_MODEL=nomic-embed-text
|
|
|
|
# How long the worker model stays resident on the target after a request.
|
|
# Accepts Ollama duration strings: "-1" (forever/pin), "0" (unload immediately),
|
|
# "15m", "1h", "3600" (seconds), etc.
|
|
# Does NOT affect the embedder, which is always pinned with keep_alive=-1.
|
|
# Default: -1 (pin forever — best for a dedicated box)
|
|
FOREMAN_KEEP_ALIVE=-1
|
|
|
|
# === Persistence ===
|
|
|
|
# SQLite database path (default: foreman.db)
|
|
FOREMAN_DB_PATH=/data/foreman.db
|
|
|
|
# === Polling ===
|
|
|
|
# Model polling interval (default: 30s)
|
|
FOREMAN_POLL_INTERVAL=30s
|
|
|
|
# === Webhooks ===
|
|
|
|
# Webhook HMAC signing secret (optional — signs X-Foreman-Signature header)
|
|
FOREMAN_WEBHOOK_SECRET=
|
|
|
|
# === Job lifecycle ===
|
|
|
|
# Max retry attempts for failed jobs (default: 3)
|
|
FOREMAN_MAX_ATTEMPTS=3
|
|
|
|
# TTL for completed/failed jobs before pruning (default: 24h)
|
|
FOREMAN_JOB_TTL=24h
|