# === 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