Skip to content

Configuration

Everything is set with environment variables.

Required

VariableMeaning
DATABASE_URLPostgres connection URL
VariableDefaultMeaning
PUBLIC_URLderived from the requestThe address your apps use. Shown in DSNs, used in alert links and by sentry-cli. Set it when CrashCart is behind a proxy or domain
API_KEYSempty (open)Comma-separated keys accepted as Authorization: Bearer … on the API and by sentry-cli
VIEWER_PASSWORDempty (open)Password for the web viewer (any username)
CORS_ORIGIN*Which web origins may send events. Set to your site for browser SDKs

Data

VariableDefaultMeaning
RETENTION_DAYS30Days to keep raw events and sessions. Issues and statistics are kept longer
PII_REDACTfalseScrub emails, phone numbers, tokens and user ids before storing events
COMPRESS_AFTER48hHow long events stay editable. Symbol uploads re-symbolicate events newer than this; with TimescaleDB, older data is compressed

Changing a data setting and restarting is enough — it applies to existing data too.

Optional features

VariableDefaultMeaning
SYMBOLICATE_URLoffAddress of the dSYM sidecar, e.g. http://symbolicate:8080
TELEGRAM_BOT_TOKENBot token for Telegram alerts
CUSTOM_TAGSComma-separated tag keys to offer as filters in the viewer, e.g. tenant,feature_flag

Tuning

VariableDefaultMeaning
LISTEN_ADDR:8080Port to listen on
RATE_LIMIT600Requests per minute allowed per DSN key or API key. 0 disables
ALERT_INTERVAL10mHow often to check for crash spikes
WORKERS4Parallelism for symbolication and alert delivery
TIMESCALEautoon / off to force TimescaleDB or plain Postgres. See Postgres options

Per project

Sampling and daily quota are set per project in the viewer (Settings → Sampling). See Projects & DSNs.

Released under the MIT License.