1# LLM API — environment (copy to <LLM_API_ROOT>/.env or export before `llm-api serve`)23APP_ENV=production4DOMAIN=www.llm-api.io5PUBLIC_URL=https://www.llm-api.io67# Bind address of the API gateway (the public reverse proxy talks to this)8HOST=127.0.0.19PORT=830010# Where the Next.js dashboard runs (proxied by the API for non-/api, non-/v1 paths)11WEB_URL=http://127.0.0.1:83011213# Data root: models/, data/ (SQLite + secrets), logs/14LLM_API_ROOT=/Users/USERNAME/llm-api15# Override the model directory (e.g. an external SSD)16# MODEL_ROOT=/Volumes/LLM/models1718# Memory policy (GB). 64 GB machine: 8 macOS + 3 app + 4 KV + 4 safety = 45 GB for models19MAX_MODEL_MEMORY_GB=4520ABSOLUTE_MAX_MEMORY_GB=5021MACOS_RESERVE_GB=822MIN_FREE_DISK_GB=1002324MAX_SIMULTANEOUS_MODELS=125MODEL_IDLE_TIMEOUT_MINUTES=3026SMALL_MODEL_RESIDENT_GB=327LOAD_TIMEOUT_SECONDS=90028GENERATION_TIMEOUT_SECONDS=180029PRELOAD_MODEL=none3031ENABLE_MLX=true32ENABLE_GGUF=true33ALLOW_DOWNLOADS=true34LOG_PROMPTS=false3536DEFAULT_MAX_TOKENS=204837DEFAULT_CONTEXT=163843839# Hugging Face token for gated repositories (never exposed to the frontend)40HF_TOKEN=41LLAMA_SERVER_BIN=llama-server4243# Sessions/CSRF secret (auto-generated into data/.secret when empty)44SECRET_KEY=45# First-run admin (used only when no user exists)46ADMIN_EMAIL=47ADMIN_PASSWORD=48SESSION_HOURS=33649SECURE_COOKIES=true5051METRICS_INTERVAL_SECONDS=1552METRICS_RETENTION_DAYS=3053