Stacklink
Reference

Configuration

Environment variables, grouped by subsystem.

The backend is configured entirely through environment variables, validated at startup. .env.example is the authoritative, commented list. Key groups:

Core

VariableDefault / example
NODE_ENV · PORT · TZ · LOG_LEVELdevelopment · 4100 · Asia/Kolkata · info
CORS_ORIGINhttp://localhost:5173
STACKLINK_PUBLIC_URLhttp://localhost:4100
DATABASE_URL / DIRECT_URLPostgres (Supabase in staging)
KNOWLEDGE_DATABASE_URL / KNOWLEDGE_DIRECT_URLseparate knowledge runtime DB (optional)
PROVIDER_CATALOG_RECONCILE_ON_STARTUPtrue

Security

VariablePurpose
STACKLINK_API_KEY_PEPPERAPI-key hashing pepper.
ENCRYPTION_KEY32-byte key for AES-256-GCM credential encryption.
STACKLINK_REGISTRATION_KEYProject registration / bootstrap.
STACKLINK_SESSION_TTL_SECONDS3600
ALLOW_DEV_STACKLINK_KEY / DEV_STACKLINK_API_KEYLocal development only.

MCP & executions

VariableDefault
STACKLINK_MCP_PROTOCOL_VERSION2025-11-25
STACKLINK_MCP_STREAMING_ENABLEDtrue
STACKLINK_MCP_PROGRESS_THROTTLE_MS / STREAM_HEARTBEAT_MS / STREAM_MAX_MS500 / 15000 / 55000
STACKLINK_MCP_PROGRESS_MAX_NOTIFICATIONS1000
STACKLINK_MCP_ORIGIN_ALLOWLISTempty (falls back to CORS_ORIGIN)
STACKLINK_EXECUTION_WAIT_DEFAULT_MS / WAIT_MAX_MS15000 / 50000
STACKLINK_EXECUTION_EVENT_OUTPUT_BUDGET_BYTES / DELTA_MAX_BYTES5000000 / 65536

Workbench

VariableDefault
REMOTE_WORKBENCH_BASE_URL + _TOKENunset = workbench disabled
REMOTE_WORKBENCH_{STANDARD,MEDIUM,LARGE}_BASE_URL + _TOKENper-size routing
REMOTE_WORKBENCH_HELPER_TOKEN_TTL_SECONDS / MAX_OUTPUT_BYTES900 / 2000000
WORKBENCH_ARTIFACT_STORAGE_KIND (+ WORKBENCH_R2_*)database (or r2)
WORKBENCH_LLM_DEFAULT_MODEL / WORKBENCH_LLM_MODEL_CATALOGopenai:gpt-4.1-mini / multi-provider catalog
WORKBENCH_AUTO_PACKAGE_INSTALL_ENABLED / WORKBENCH_ERROR_CORRECTION_ENABLEDtrue / true
WORKBENCH_ALLOWED_PYTHON_PACKAGESnumpy, pandas, matplotlib, pillow, requests, …
WORKBENCH_COST_* / WORKBENCH_IDLE_CLEANUP_*cost rates & idle cleanup
OPENAI_API_KEY · ANTHROPIC_API_KEY · GEMINI_API_KEY · XAI_API_KEY · …LLM gateway providers

Dashboard, billing, webhooks

VariablePurpose
DASHBOARD_APP_URL · DASHBOARD_SERVE_STATIC · DASHBOARD_STATIC_DIRserve the dashboard from the backend origin
DASHBOARD_SESSION_SECRET · _TTL_SECONDS · _ALLOWED_EMAILS · _AUTO_PROVISION_OWNERdashboard auth
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETdashboard Google login
STACKLINK_BILLING_PROVIDER (+ STRIPE_*)internal locally; stripe in staging/prod
WEBHOOK_BASE_URLbase for provider webhook ingress URLs

Providers

SANDBOX_* (environment, URL, key/secret, webhook secret) · WHATSAPP_* · RAZORPAY_* · ZOHO_BOOKS_DEFAULT_* (client id/secret + required region) · GMAIL_PUBSUB_* — fill as providers are enabled.

Knowledge build vs runtime

Knowledge Pack build/import must run against a local Postgres/pgvector build database (.env.knowledge*.local) — never the hosted runtime.

On this page