Environment variables
Every variable that configures a Carbon instance, grouped by concern. The source of truth is packages/env.
Carbon reads its configuration from environment variables. The registry lives in packages/env;
.env.example is the template; infrastructure-only variables are read by sst.config.ts. A minimal
instance needs the Supabase connection, a session secret, and Redis — everything else activates features
as you need them.
Core
Platform-wide behavior and edition.
community, cloud, enterprise, or test — gates edition-specific features.email, google, azure, passkey.Database — Supabase
Carbon's single Postgres database. All five are required.
Auth & sessions
google is in AUTH_PROVIDERS.azure is enabled.Sign-in bot protection uses Cloudflare Turnstile: CLOUDFLARE_TURNSTILE_SITE_KEY and
CLOUDFLARE_TURNSTILE_SECRET_KEY.
Jobs & cache
Email & billing
AI & analytics
Integrations
OAuth credentials for each connector — all optional, set only the ones you use.
Infrastructure — SST
Read by sst.config.ts at deploy time, not by the app.
Older notes list TRIGGER_* (Trigger.dev) and UPSTASH_REDIS_* variables — those are gone. Jobs run on
Inngest and the cache uses a plain REDIS_URL.