# Required API_EDIT_SECRET=change-me-to-a-random-string # LLM (required to actually process edits) OLLAMA_API_KEY= # For Ollama Cloud use https://ollama.com, for local Ollama use http://localhost:11434 OLLAMA_HOST=https://ollama.com OLLAMA_MODEL=qwen3.5:397b-cloud OLLAMA_INTENT_MODEL=gemma4:31b-cloud OLLAMA_FALLBACK_MODEL=gpt-oss:120b # Paths REPO_ROOT=. IDEMPOTENCY_DB_PATH=./data/dynamic-sites.db # SSR cache SITE_DATA_TTL_MS=500 # Browser live reload (optional) # When enabled, the orchestrator (port 3001) hosts a websocket endpoint that broadcasts # a reload event whenever content is written. Pages that opt-in will reload on message. LIVE_RELOAD_WS_ENABLED=false LIVE_RELOAD_WS_PATH=/__live_reload # These are read by the Astro app (public envs are embedded client-side) PUBLIC_LIVE_RELOAD_WS_ENABLED=false PUBLIC_LIVE_RELOAD_WS_PATH=/__live_reload # Optional override for deployments behind a reverse proxy: # PUBLIC_LIVE_RELOAD_WS_URL=wss://your-domain.example/__live_reload PUBLIC_LIVE_RELOAD_WS_URL= # SMS (Vonage) VONAGE_API_KEY=your_vonage_api_key VONAGE_API_SECRET=your_vonage_api_secret VONAGE_APPLICATION_ID=your_vonage_application_id VONAGE_API_SIGNATURE_SECRET=your_vonage_signature_secret # Vonage private key — use ONE of these two options: # Option A: path to the .key file on disk (local / Docker file mount) VONAGE_PRIVATE_KEY_PATH=./private.key # Option B: raw PEM content or base64-encoded PEM (for PaaS / Dokploy env vars) # To base64-encode: base64 -w0 private.key # VONAGE_PRIVATE_KEY= # CORS CORS_ALLOWED_ORIGIN=http://localhost:4321 # Logging LOG_LEVEL=debug # Proposals PROPOSAL_TTL_MS=900000 # Set to "true" to skip the YES/NO confirmation step and apply edits immediately AUTO_APPLY_EDITS=false # Editor auth EDITOR_SESSION_SECRET=change-me-to-another-random-string # Rate limits SMS_RATE_LIMIT_PER_HOUR=10 MAX_UPLOAD_SIZE_BYTES=5242880