Environment variable reference
This table is generated from the Plainwire 2.0.0 source snapshot, not from memory. Variables marked test/internal are present in the source tree but are not normal production knobs.
Do not set every variable. Start from upstream .env.example, then add advanced controls only for a reason.
| Variable | Default or note | Type | Audience |
|---|---|---|---|
PLAINWIRE_ADAPTIVE_SCREEN |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_ACCEPTORS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_ALLOW_REMOTE |
false | setting | operator |
PLAINWIRE_ADMIN_BIND |
127.0.0.1 | setting | operator |
PLAINWIRE_ADMIN_BOOTSTRAP_TOKEN |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_ADMIN_COOKIE_SECURE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_ENABLED |
false | setting | operator |
PLAINWIRE_ADMIN_ENROLLMENT_MINUTES |
60 in production example | setting | operator |
PLAINWIRE_ADMIN_IDLE_TIMEOUT_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_LOCAL_RECOVERY |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_MAX_CONNECTIONS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_MAX_KEEPALIVE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_PORT |
8090 | setting | operator |
PLAINWIRE_ADMIN_PUBLIC_URL |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_REQUEST_TIMEOUT_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ADMIN_SECRET_FILE |
/var/lib/plainwire/admin-instance.key in production | setting | operator |
PLAINWIRE_ADMIN_SESSION_HOURS |
12 in production example | setting | operator |
PLAINWIRE_ALLOWED_ORIGINS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ALLOW_ARBITRARY_MEDIA |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ALLOW_INSECURE_DB |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ALLOW_STATIC_TURN_CREDENTIALS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_ALLOW_UNSIGNED_MEDIA_TOKENS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_APP_NAME |
Plainwire | setting | operator |
PLAINWIRE_ASSET_VERSION |
see source/defaults for this advanced knob | setting | test/internal |
PLAINWIRE_BOT_TOKEN |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_CALL_RING_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_CF_ACCOUNT_ID |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_CF_ANALYTICS_API_TOKEN |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_CF_TURN_API_TOKEN |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_CF_TURN_KEY_ID |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_CF_USAGE_CHECK_INTERVAL_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_COMPRESS_OVERSIZE_UPLOADS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_DB_HOST |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_DB_IDLE_TX_TIMEOUT_MS |
15000 | setting | operator |
PLAINWIRE_DB_LOCK_TIMEOUT_MS |
5000 | setting | operator |
PLAINWIRE_DB_MAX_QUEUE |
250 | setting | operator |
PLAINWIRE_DB_NAME |
plainwire | setting | operator |
PLAINWIRE_DB_PASS |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_DB_POOL_SIZE |
10 in code, 20 in production example | setting | operator |
PLAINWIRE_DB_PORT |
5432 | setting | operator |
PLAINWIRE_DB_SLOW_MS |
250 | setting | operator |
PLAINWIRE_DB_SSL |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_DB_STATEMENT_TIMEOUT_MS |
15000 | setting | operator |
PLAINWIRE_DB_USER |
plainwire | setting | operator |
PLAINWIRE_DEFAULT_THEME |
system | setting | operator |
PLAINWIRE_ENC_KEY |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_ENV |
production in the production example | setting | operator |
PLAINWIRE_FILE_REQUESTS_PER_MINUTE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_GITHUB_CACHE_TTL_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_GITHUB_TOKEN |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_HOST |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_HTTP_ACCEPTORS |
100 | setting | operator |
PLAINWIRE_HTTP_CONNECT_TIMEOUT_MS |
2500 | setting | operator |
PLAINWIRE_HTTP_FETCH_TIMEOUT_MS |
8000 | setting | operator |
PLAINWIRE_HTTP_IDLE_TIMEOUT_MS |
60000 | setting | operator |
PLAINWIRE_HTTP_MAX_CONNECTIONS |
100000 | setting | operator |
PLAINWIRE_HTTP_MAX_KEEPALIVE |
1000 | setting | operator |
PLAINWIRE_HTTP_REQUEST_TIMEOUT_MS |
30000 | setting | operator |
PLAINWIRE_ICE_TRANSPORT_POLICY |
all | setting | operator |
PLAINWIRE_IDLE_TIMEOUT_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_INSTANCE_DESCRIPTION |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_INSTANCE_ID |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_KLIPY_API_KEY |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_KLIPY_CONTENT_FILTER |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_KLIPY_COUNTRY |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_KLIPY_LOCALE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_KRISP_ENABLED |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MAX_SESSIONS_PER_USER |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MEDIA_ALLOWED_HOSTS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MEDIA_FETCH_CONCURRENCY |
24 | setting | operator |
PLAINWIRE_MEDIA_QUALITY |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MEDIA_QUALITY_BIN |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MEDIA_REQUESTS_PER_MINUTE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MEDIA_SIGNING_KEY |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_MESSAGE_BACKEND |
postgres | setting | operator |
PLAINWIRE_MESSAGE_ID_CLOCK_ROLLBACK_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_MESSAGE_NODE_ID |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_NODE_ID |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_PBKDF2_ITERS |
160000 | setting | operator |
PLAINWIRE_PROFILE_IMAGE_MAX_BYTES |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_PUBLIC_URL |
required public origin | setting | operator |
PLAINWIRE_REDIS_DB |
0 | setting | operator |
PLAINWIRE_REDIS_ENABLED |
false | setting | operator |
PLAINWIRE_REDIS_HOST |
127.0.0.1 | setting | operator |
PLAINWIRE_REDIS_PASSWORD |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_REDIS_PORT |
6379 | setting | operator |
PLAINWIRE_REDIS_PREFIX |
plainwire | setting | operator |
PLAINWIRE_REDIS_TIMEOUT_MS |
80 | setting | operator |
PLAINWIRE_REDIS_TLS |
false | setting | operator |
PLAINWIRE_REDIS_TLS_INSECURE |
false | setting | operator |
PLAINWIRE_REDIS_USERNAME |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_REGISTRATION_ENABLED |
true | setting | operator |
PLAINWIRE_RELEASE_BIN |
see source/defaults for this advanced knob | setting | test/internal |
PLAINWIRE_REQUIRE_TURN |
true by default in production validation | setting | operator |
PLAINWIRE_RTC_RECONNECT_GRACE_MS |
15000 in production example | setting | operator |
PLAINWIRE_SCYLLA_BACKFILL_BATCH |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_BACKFILL_CONCURRENCY |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_BACKFILL_MAX_ROWS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_BUCKET_POLICY |
month | setting | operator |
PLAINWIRE_SCYLLA_CACHE_TTL_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_CA_FILE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_CERT_FILE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_CONNECT_TIMEOUT_MS |
5000 | setting | operator |
PLAINWIRE_SCYLLA_CONSISTENCY |
local_quorum | setting | operator |
PLAINWIRE_SCYLLA_CONTACT_POINTS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_DELIVERY_RETENTION_DAYS |
90 | setting | operator |
PLAINWIRE_SCYLLA_DRIVER_QUEUE |
32768 | setting | operator |
PLAINWIRE_SCYLLA_ENABLED |
false | setting | operator |
PLAINWIRE_SCYLLA_EVENT_RETENTION_DAYS |
365 | setting | operator |
PLAINWIRE_SCYLLA_HISTORY_BUCKETS |
36 in production example | setting | operator |
PLAINWIRE_SCYLLA_IO_THREADS |
2 | setting | operator |
PLAINWIRE_SCYLLA_KEYSPACE |
plainwire | setting | operator |
PLAINWIRE_SCYLLA_KEY_FILE |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_SCYLLA_LOCAL_DC |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_MAX_INFLIGHT |
256 | setting | operator |
PLAINWIRE_SCYLLA_MAX_PAGE_SCAN_ROWS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_MAX_PARTITION_INFLIGHT |
8 | setting | operator |
PLAINWIRE_SCYLLA_MAX_PARTITION_QUEUE |
128 | setting | operator |
PLAINWIRE_SCYLLA_MAX_QUEUE |
4096 | setting | operator |
PLAINWIRE_SCYLLA_MIGRATION_MODE |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_OPERATION_TIMEOUT_MS |
8000 | setting | operator |
PLAINWIRE_SCYLLA_PARITY_SAMPLE_ROWS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_PASSWORD |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_SCYLLA_POOL_SIZE |
2 | setting | operator |
PLAINWIRE_SCYLLA_PORT |
9042 | setting | operator |
PLAINWIRE_SCYLLA_RECONCILE_INTERVAL_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_RECONCILE_ROWS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_REPLICATION_FACTOR |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_REQUEST_TIMEOUT_MS |
5000 | setting | operator |
PLAINWIRE_SCYLLA_SHADOW_SAMPLE_ROWS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_TLS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_USERNAME |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_VERIFY_AFTER_ID |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_VERIFY_LIMIT |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_WRITE_INTENT_BUCKETS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_WRITE_INTENT_GRACE_MS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SCYLLA_WRITE_INTENT_RECONCILE_ROWS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SESSION_DAYS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_SOURCE_REPOSITORY |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_STORAGE_OUTBOX_BATCH |
25 | setting | operator |
PLAINWIRE_STORAGE_OUTBOX_CONCURRENCY |
8 | setting | operator |
PLAINWIRE_STORAGE_OUTBOX_FAILED_RETENTION_DAYS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_STORAGE_OUTBOX_INTERVAL_MS |
250 | setting | operator |
PLAINWIRE_STORAGE_OUTBOX_RETENTION_DAYS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_STUN_URLS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_TEST_BOOL |
see source/defaults for this advanced knob | setting | test/internal |
PLAINWIRE_TEST_NATIVE |
see source/defaults for this advanced knob | setting | test/internal |
PLAINWIRE_TRUSTED_PROXIES |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_TRUST_PROXY |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_TURN_CREDENTIAL |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_TURN_MONTHLY_LIMIT_BYTES |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_TURN_SECRET |
see source/defaults for this advanced knob | secret | operator |
PLAINWIRE_TURN_TTL_SECONDS |
3600 | setting | operator |
PLAINWIRE_TURN_URLS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_TURN_USERNAME |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_UPLOAD_CONCURRENCY |
64 | setting | operator |
PLAINWIRE_UPLOAD_DIR |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_UPLOAD_IMAGE_MAX_DIMENSION |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_UPLOAD_INFLIGHT_BYTES |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_UPLOAD_MAX_BYTES |
262144000 | setting | operator |
PLAINWIRE_UPLOAD_MAX_FILES |
10 | setting | operator |
PLAINWIRE_UPLOAD_QUOTA_BYTES |
1073741824 | setting | operator |
PLAINWIRE_UPLOAD_RETENTION_DAYS |
90 | setting | operator |
PLAINWIRE_UPLOAD_USER_CONCURRENCY |
4 | setting | operator |
PLAINWIRE_UPLOAD_USER_INFLIGHT_BYTES |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_VOICE_MAX_PARTICIPANTS |
8 | setting | operator |
PLAINWIRE_VOICE_MAX_SHARES |
2 | setting | operator |
PLAINWIRE_WEBHOOK_ALLOW_HTTP |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_WEBHOOK_CONCURRENCY |
8 | setting | operator |
PLAINWIRE_WEBHOOK_DELIVERED_RETENTION_DAYS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_WEBHOOK_FAILED_RETENTION_DAYS |
see source/defaults for this advanced knob | setting | operator |
PLAINWIRE_WEBHOOK_TIMEOUT_MS |
8000 | setting | operator |
PLAINWIRE_WEBHOOK_WORKER_TIMEOUT_MS |
13000 in production example | setting | operator |
PLAINWIRE_WS_HARD_QUEUE |
2000 | setting | operator |
PLAINWIRE_WS_SOFT_QUEUE |
500 | setting | operator |
Non-PLAINWIRE_ variables#
The production path also uses common variables such as PORT, COOKIE_SECURE, NODE_ENV, and ERL_FLAGS.
Source of truth#
When this reference and a newer Plainwire release disagree, the newer release source wins. Run the included upstream comparison script after every upgrade.