diff --git a/.env.example b/.env.example index d912938aa..4839b6741 100644 --- a/.env.example +++ b/.env.example @@ -15,6 +15,10 @@ NODE_ENV=production # separately via BACKEND_PORT (see the Ports section) — leave this at 4000. PORT=4000 +# Graceful shutdown deadline in milliseconds. On SIGTERM/SIGINT the backend +# stops accepting requests and exits once this elapses. Default 20000. +# SHUTDOWN_TIMEOUT_MS=20000 + # Compose project name — also the prefix for the network, volumes and container # names (amcp-app, amcp-postgres, …). Override it to run more than one # AnythingMCP stack on the same host without name collisions. @@ -46,6 +50,12 @@ ENCRYPTION_KEY=change-me-in-production-exactly-32 # independently from JWT_SECRET). # COOKIE_SECRET=change-me-in-production-min-32-chars +# HMAC secret for identifier hashes in the knowledge graph. Falls back to +# ENCRYPTION_KEY, then JWT_SECRET, then a built-in development value. Set it +# explicitly in production rather than relying on that fallback chain: +# changing the effective secret later changes every stored hash. +# KG_HASH_SECRET=change-me-in-production-min-32-chars + # Postgres Row-Level Security — database-enforced tenant isolation on top of the # app-layer checks. OFF by default; this is a staged rollout, not a flip switch: # the DATABASE_URL role must be NON-superuser, query call sites must run through @@ -67,6 +77,20 @@ CORS_ORIGIN=http://localhost:3000 # All other users must be invited by an admin. Set to true to allow open registration. ALLOW_OPEN_REGISTRATION=false +# ── Email (SMTP, optional) ─────────────────────────────────────────────────── +# Instance-wide SMTP for invitations, verification and password reset emails. +# Used only when no SMTP server is configured in the admin Settings page. +# SMTP_PORT defaults to 587. SMTP_SECURE=true uses implicit TLS; port 465 +# enables it automatically. SMTP_FROM defaults to "AnythingMCP ". +# SMTP_REPLY_TO sets where replies go when SMTP_FROM is a noreply address. +# SMTP_HOST=smtp.example.com +# SMTP_PORT=587 +# SMTP_SECURE=false +# SMTP_USER= +# SMTP_PASS= +# SMTP_FROM="AnythingMCP " +# SMTP_REPLY_TO= + # ── Catalog auto-sync ───────────────────────────────────────────────────────── # On startup, automatically applies "safe" catalog updates (tool # description/parameter fixes — no endpoint or tool add/remove changes) to @@ -137,6 +161,14 @@ MCP_RATE_LIMIT_PER_MINUTE=60 # MCP_SESSION_IDLE_MIN=30 # MCP_MAX_SESSIONS=500 +# ── Knowledge Graph (optional) ─────────────────────────────────────────────── +# Set KG_MCP_TOOL=off to hide the kg_how_to_obtain tool and the knowledge-graph +# resource from MCP clients on every workspace. +# KG_MCP_TOOL= +# Per-workspace cooldown in seconds between automatic graph ingests triggered +# by tool calls. Default 45. +# KG_OBSERVE_COOLDOWN_SEC=45 + # ── Knowledge Graph — AI features (optional) ───────────────────────────────── # Global switch + API key for LLM graph enrichment / skill generation. Without # these, all AI features stay off regardless of per-workspace toggles. @@ -201,6 +233,11 @@ MCP_RATE_LIMIT_PER_MINUTE=60 # COST_PER_CALL_MICROS=0 # COST_PER_PROXY_CALL_MICROS=0 +# ── Sentry tracing (optional) ──────────────────────────────────────────────── +# Only used when SENTRY_DSN is set. Trace sample rate (0 to 1) for MCP calls; +# defaults to a fifth of SENTRY_TRACES_SAMPLE_RATE, which covers HTTP requests. +# SENTRY_MCP_TRACES_SAMPLE_RATE= + # ── Operator Analytics (cloud build only — leave empty on self-hosted) ────── # Loads Google Tag Manager + a Consent Mode v2 cookie banner. Self-hosted # builds must leave both empty so no tracking is shipped to community users. diff --git a/docs/deployment.md b/docs/deployment.md index d6f40cb93..67a9bfeba 100644 --- a/docs/deployment.md +++ b/docs/deployment.md @@ -366,6 +366,13 @@ curl -s http://localhost:4000/api/mcp-api-keys \ | `MCP_API_KEY` | No | API key for legacy MCP auth | | `SERVER_URL` | No | Server URL for OAuth2 metadata (default: `http://localhost:4000`) | | `MCP_RATE_LIMIT_PER_MINUTE` | No | Rate limit per client (default: 60) | +| `SMTP_HOST` | No | SMTP server for instance emails; used when no SMTP is configured in the admin Settings page | +| `SMTP_PORT` | No | SMTP port (default: 587) | +| `SMTP_SECURE` | No | `true` for implicit TLS (default: `false`; always on for port 465) | +| `SMTP_USER` | No | SMTP username | +| `SMTP_PASS` | No | SMTP password | +| `SMTP_FROM` | No | Sender address (default: `AnythingMCP `) | +| `SMTP_REPLY_TO` | No | Reply-To address, for when `SMTP_FROM` is a noreply address | | `COMPOSE_PROFILES` | No | Set to `proxy` to enable Caddy reverse proxy | | `DOMAIN` | No | Domain for Caddy SSL certificate (e.g., `example.com`) | | `ACME_EMAIL` | No | Email for Let's Encrypt certificate notifications |