Skip to main content
Version: 0.9.19

Environment variable reference

Use this reference to find which role reads a variable, what happens when you leave it unset and where its behavior is explained. Each service bundle declares its variables in a manifest; only declared variables reach the service.

Availability: This reference describes the reference service bundles from 0.9.18. Your generated deployment can omit optional roles or modules. Check the bundle you deploy before you set a value.

Read this reference​

  • Role(s) names the service hosts whose manifest declares the variable: Web, API, Voice, Ops, Media, TelPro, Database, SigNoz or Squid. All means every role.
  • Range and default is the manifest or image default. A dash means that the deployment must supply the value or that the feature stays off without it.
  • secret marks a value that belongs in Secrets Manager or the protected bootstrap file. This page never shows secret values.
  • Where explained links to the page that describes the behavior. "This page" means that the row is the full description.

Feature flags accept only the literal lowercase values true and false. For the order in which the bootstrap file, SSM and Secrets Manager override each other, see Place configuration in the correct layer.

To list the variables that a role expects on a provisioned host without printing their values, run:

/opt/services/common/show-env.sh --service api

Replace api with the role you are checking.

Changes in 0.9.19​

These variables are new or newly declared from 0.9.19. None of them is a feature flag.

Changed in 0.9.19:

  • TURN_LISTEN_IP: the default is now empty instead of 0.0.0.0. See TelPro variables and Bind the floating media address for the effect on TURN replies.
  • Media HTTPS: MEDIA_TLS_CERT_FILE and MEDIA_TLS_KEY_FILE are no longer configurable, MEDIA_TLS_SAN_DNS is removed, and Media no longer generates a self-signed certificate. The issued MEDIA_TLS_FULLCHAIN_B64 and MEDIA_TLS_PRIVKEY_B64 pair is now the expected source, and MEDIA_TLS_CERT_HOST_PATH is a legacy fallback. See Media variables and Media HTTPS trust.

For the upgrade sequence, see Upgrade to 0.9.19.

Changes in 0.9.18​

These variables are new or newly declared from 0.9.18:

Removed in 0.9.18​

VariableWhat to do instead
FEATURE_API_ACCESSSelect Browser SDK and browser voice explicitly with FEATURE_BROWSER_SDK and FEATURE_WEBRTC. The old flag has no alias, and its earlier default of true no longer applies.

Save an explicit, valid feature selection for the new release before you generate its configuration. For the upgrade sequence, see Upgrade to 0.9.18.

Variables defined on other pages​

These variables have their own owner pages. Follow the link to see defaults and behavior.

SubjectVariablesOwner page
Database connection and credential refreshDATABASE_URL, DATABASE_SECRET_*, DATABASE_REFRESH_*, DATABASE_POOL_SIZEDatabase credentials
Platform, database and Redis TLSTLS_ENABLED, EDGE_TLS_*, API_TLS_ENABLED, CERTBOT_EMAIL, DATABASE_SSL_MODE, DATABASE_SSL_CA_FILE, REDIS_TLS_ENABLED, REDIS_TLS_PORT, REDIS_TLS_SERVERNAME, REDIS_TLS_REJECT_UNAUTHORIZED, REDIS_FORCE_TLS, POSTGRES_TLS_ENABLED, PGBOUNCER_CLIENT_TLS_SSLMODE, PGBOUNCER_SERVER_TLS_SSLMODEVerify platform TLS
Component log levelsTELWEB_LOG_LEVEL, TELAPI_LOG_LEVEL, TELSYS_LOG_LEVEL, TELPHI_LOG_LEVEL, AUDIOPROC_LOG_LEVEL, SCALER_LOG_LEVEL, TASKER_LOG_LEVEL, TELPRO_LOG_LEVEL, RTPENGINE_LOG_LEVEL, WEBRTC_LOG_LEVELSet the level for each component
API credential retry limitsAPI_CREDENTIAL_*API key access
Email delivery and worker cloud accessEMAIL_TRANSPORT, EMAIL_SENDER_ADDRESS, EMAIL_SENDER_NAME, SMTP_HOST, SMTP_PORT, SMTP_USER, SMTP_PASS, AWS_REGION, AWS_USE_INSTANCE_PROFILEConfigure and verify email delivery
Database backupsS3_BUCKET, S3_PREFIXDatabase backup and restore
Audit retention and security exportAUDIT_LOG_RETENTION_DAYS, OTEL_EXPORT_BACKEND_HOST, OTEL_EXPORT_BACKEND_PORT, DYNATRACE_*, SIEM_HEC_*Security event export
SigNoz API credentialSIGNOZ_API_KEYRegister a platform secret
Call duration capMAX_CALL_DURATION_SECONDS, MAX_CALL_DURATION_WARNING_MESSAGEBuild a flow

SigNoz also reads the SMTP_* variables to send alert email. They have the same meaning as on the Ops host.

Bootstrap variables​

Provisioning writes these values to /opt/deployment/.env on every host. Manifests mark them as local, so SSM and Secrets Manager do not supply them. See Provision instances and bootstrap a role for how the file is created.

VariableRole(s)Range and defaultEffectWhere explained
ENVIRONMENTAll—Environment label for the deployment.This page
HOSTNAMEAll—Name of this host.This page
SERVER_ROLEAll—Role whose bundle the host fetches and initializes.Fetch configuration
ECR_REGISTRYWeb, API, Voice, Ops, Media, TelPro—Container registry for image pulls.Prerequisites
ECR_TAGWeb, API, Voice, Ops, Media, TelProlatestImage tag that Compose pulls.Release compatibility
AWS_ACCESS_KEY_IDAll— (secret)Cloud access key for the registry, bundle, SSM and Secrets Manager.Prerequisites
AWS_SECRET_ACCESS_KEYAll— (secret)Secret part of that access key.Prerequisites
AWS_SESSION_TOKENOps, Media— (secret)Optional token for temporary cloud credentials.This page
AWS_DEFAULT_REGIONVoice—Region fallback for cloud SDK clients on the Voice host.Database credentials
NAMESPACEAll—Prefix for this deployment's SSM parameters and secrets.Place configuration in the correct layer
CONFIG_BUCKETAll—Bucket that holds the configuration bundles.Fetch configuration
CONFIG_REFAll— (Ops scaler: main)Bundle reference to fetch, such as a release tag.Fetch configuration
CONFIG_BASE_PATHAllconfigsPath prefix of the bundles inside the bucket.Fetch configuration
FETCH_CONFIG_ATTEMPTSAll5Full download attempts before configuration fetch fails. New in 0.9.18.Fetch configuration
FETCH_CONFIG_RETRY_DELAYAll5Base wait in seconds between attempts; the wait grows with each attempt. New in 0.9.18.Fetch configuration
PUBLIC_IPHosts with a public address—Public address of the host.NAT and media addresses
FLOATING_IPHosts with a reserved address—Reserved public address assigned to the host.Operate the telephony edge
PRIVATE_IPAPI, Voice, Media, TelPro—Private network address of the host; initialization detects it when unset.NAT and media addresses
HTTP_PROXY, HTTPS_PROXYPrivate hosts—Outbound proxy for hosts without a public address.Prerequisites
NO_PROXYPrivate hostsLocal and private addressesDestinations that bypass the proxy.Prerequisites
http_proxy, https_proxy, no_proxyVoice—Lowercase proxy settings passed to TelPhi for clients that read them.This page

Shared runtime variables​

These variables appear in more than one role. Set the same value on every role that declares them unless the row says otherwise.

VariableRole(s)Range and defaultEffectWhere explained
REDIS_HOSTWeb, API, Voice, Ops, TelPro, Database127.0.0.1 on Database; none on other rolesRedis host. Required on every role; set it to the Database host or your Redis endpoint.This page
REDIS_PORTWeb, API, Voice, Ops, TelPro, Database6379Plain Redis port.This page
REDIS_USERNAMEWeb, API, Voice, Ops— (secret)Redis ACL user name. Leave it unset for password-only authentication.This page
REDIS_PASSWORDWeb, API, Voice, Ops, TelPro, Database— (secret)Redis password.This page
REDIS_DATABASEWeb, API, Voice, Ops, TelPro0Redis logical database number.This page
REDIS_TLS_CA_FILEWeb, API, Voice, Ops, TelPro/etc/ssl/redis/ca.crtContainer path of the Redis CA bundle; an empty file falls back to the system CAs.Verify platform TLS
REDIS_TLS_CA_BUNDLE_B64Web, API, Voice, Ops, TelPro— (secret)Base64 PEM CA bundle that initialization writes to that file.Verify platform TLS
DATABASE_SSL_CA_BUNDLE_B64Web, API, Voice, Ops— (secret)Base64 PEM CA bundle for database TLS. Required for verify-ca and verify-full.Verify platform TLS
INTERNAL_CA_CRT_B64Web, API, Voice, Ops, TelPro, Database— (secret)Deprecated CA fallback, used only when the specific database or Redis bundle is unset.Verify platform TLS
NEXTAUTH_URLWeb, API, Voice, Ops—Public TelWeb URL, used for sign-in and for links in emails.Access and teams
DOMAIN_TELWEBWeb, Voice—Public TelWeb name that Web Caddy serves.Prerequisites
DOMAIN_APIWeb, API, Voice, Ops—Public API name; Ops also renews its edge certificate.Prerequisites
DOMAIN_TELPROAPI, Voice, Ops, TelPro—Public SIP and browser-voice edge name; TelPhi builds REFER targets from it.Prerequisites
REFER_TARGET_HOSTVoice, TelProValue of DOMAIN_TELPROHost used for REFER number targets and for loopback Refer-To detection.Call transfer methods
SIP_PORT_INTERNALVoice, TelPro5061 on TelProPrivate Kamailio port for traffic between TelPro and TelSys.Operate the telephony edge
TURN_USERWeb, TelProtelproTURN user name for browser media relay.Operate the telephony edge
TURN_PASSWORDWeb, TelPro— (secret)TURN password for browser media relay.Operate the telephony edge
FEATURE_BROWSER_SDKWeb, API, OpsfalseEnables Browser SDK keys, sessions and routes; the Ops migration uses it to move legacy keys. New in 0.9.18.Feature availability
FEATURE_WEBRTCWeb, APIfalseEnables browser voice. Requires FEATURE_BROWSER_SDK=true. New in 0.9.18.Browser journey
FEATURE_SUBSCRIPTION_MANAGEMENT, FEATURE_SMSOpstrueWorker and migration side of subscription management and SMS.Feature availability
FEATURE_REGISTRATION, FEATURE_AI_FLOW_BUILDEROpstrueMigration side of self-registration and the AI Flow Builder.Feature availability
LOG_INTEGRATION_PAYLOADSAPI, Voice, OpsfalseAdds integration payloads and headers to transaction log records; redaction still applies. New in 0.9.18.Protect diagnostic logs
ENABLE_PII_LOGGINGAllfalseTurns off personal-data masking in logs when set to exactly true.Protect diagnostic logs
MSISDN_UNMASKED_DIGITSAll4Number of trailing phone-number digits left visible in masked logs.Protect diagnostic logs
OTEL_ENABLEDWeb, API, Voice, Opstrue; Ops falseTurns application telemetry export on or off.Logs
OTEL_BACKEND_HOSTWeb, API, Voice, Ops, TelPro, Database, SquidReference SigNoz addressSigNoz host that the local collector exports to. Set it to your SigNoz host.Telemetry and monitoring
TTS_MEDIA_CACHE_BASE_URLWeb, API, Voice, Ops—HTTPS base URL of the media cache on the Media host.Managed system audio
TTS_MEDIA_CACHE_UPLOAD_TOKENWeb, API, Voice, Ops— (secret)Token for writing to the media cache.Managed system audio
TTS_MEDIA_CACHE_CA_BUNDLEWeb, API, Voice, Ops—CA bundle used to trust the Media host certificate.Managed system audio
SYSTEM_AUDIO_STORAGE_BASE_URLWeb, API, Ops—Base URL of managed system-audio storage; falls back to the media cache URL.Managed system audio
AZURE_TTS_API_KEYWeb, API, Ops— (secret)Azure Speech key for generating system audio from text. Without it, generation is unavailable. New in 0.9.18.Managed system audio
AZURE_REGIONWeb, API, Ops—Azure Speech region for that generation. New in 0.9.18.Managed system audio
SYSTEM_AUDIO_CLEANUP_TOKENOps, Media— (secret)Token that Tasker uses for system-audio cleanup requests to the Media host.Managed system audio
PLATFORM_ROLE_EMAIL_CODE_SECRETWeb, Ops— (secret)Key shared only by TelWeb and Tasker for platform-role change codes. Do not reuse the session secret.Provision users and memberships
PASSWORD_MAX_AGE_DAYSWeb, Ops90Days until a password expires. Keep Web and Ops equal.Change an expiring password
PASSWORD_WARNING_DAYSWeb, Ops10Days before expiry when the warning and reminder start. Keep Web and Ops equal.Change an expiring password
STRIPE_SECRET_KEYWeb, Ops— (secret)Billing provider key, used when subscription billing is enabled.Subscription and usage
GRACE_PERIOD_DAYSWeb, Ops30Grace period that the subscription grace-expiry job applies.Subscription and usage
PLATFORM_SECRETS_NAMESPACEWeb, API—Overrides NAMESPACE for platform and team secret paths.Establish platform secret storage
NODE_ENVAPI, OpsproductionNode.js runtime mode.This page

Web variables​

VariableRole(s)Range and defaultEffectWhere explained
NEXTAUTH_SECRETWeb— (secret)Secret that signs TelWeb sessions.This page
PLATFORM_ROLE_EMAIL_TASKER_READYWebfalseSet to true only after every Tasker replica can send platform-role change codes.Provision users and memberships
NEXT_TELEMETRY_DISABLEDWeb1Turns off web framework usage telemetry.This page
MUI_X_TELEMETRY_DISABLED, NEXT_PUBLIC_MUI_X_TELEMETRY_DISABLEDWebtrueTurns off UI component library telemetry.This page
DOMAIN_SIGNOZWeb—Optional name under which Web Caddy publishes the SigNoz UI.Prerequisites
SIGNOZ_PORTWeb8080SigNoz UI port that Web Caddy forwards to.This page
TELAPI_KEYWeb— (secret)Key that TelWeb uses for its TelAPI integration.This page
ICE_SERVERSWeb—ICE server list that the browser uses for voice calls.Browser journey
SESSION_TIMEOUTWeb300000Idle session time in milliseconds.Understand an ended or refused session
APP_EDIT_IDLE_TIMEOUT_MSWeb900000Time in milliseconds without input before Flow Designer releases the shared draft. Minimum 60000. New in 0.9.19.Shared draft editing
WARNING_TIMEOUTWeb60000Time in milliseconds for the warning before an idle session ends.Understand an ended or refused session
AUTH_WITH_CREDENTIALSWebtrueEnables email and password sign-in.Access and teams
AUTH_WITH_MICROSOFTWebfalseEnables Microsoft Entra sign-in.Check Microsoft Entra prerequisites
AUTH_MICROSOFT_ENTRA_ID_IDWeb—Entra application ID. Required when Microsoft sign-in is on.Check Microsoft Entra prerequisites
AUTH_MICROSOFT_ENTRA_ID_SECRETWeb— (secret)Entra client secret. Required when Microsoft sign-in is on.Check Microsoft Entra prerequisites
AUTH_MICROSOFT_ENTRA_ID_ISSUERWeb—Tenant-specific Entra issuer. Required when Microsoft sign-in is on.Check Microsoft Entra prerequisites
AUDIT_TRUSTED_PROXY_HOPSWeb0Trusted proxy hops for audit client addresses. Keep 0 unless your ingress overwrites forwarded headers.This page
LEGAL_BANNER_HTMLWeb—Trusted HTML notice on public TelWeb pages; it wins over the text notice.This page
LEGAL_BANNER_TEXTWeb—Plain-text notice on public TelWeb pages.This page
STRIPE_WEBHOOK_SECRETWeb— (secret)Verifies webhooks from the billing provider.Subscription and usage
SYSTEM_AUDIO_UPLOAD_MAX_MIBWeb100Largest system-audio upload in MiB.Managed system audio

API variables​

VariableRole(s)Range and defaultEffectWhere explained
TELAPI_PORTAPI3001TelAPI listener. The load balancer health check uses the same port.Prerequisites
TELAPI_HOSTAPI0.0.0.0TelAPI bind address.This page
TELAPI_SWAGGER_UI_ENABLEDAPIfalseServes the interactive API description at /documentation. Keep it off on customer-facing deployments.This page
JWT_SECRETAPI— (secret)Secret that signs TelAPI tokens.This page
CORS_ORIGINSAPI—Browser origins allowed to call TelAPI.This page

Voice variables​

VariableRole(s)Range and defaultEffectWhere explained
VAIPROXIESPIPEDVoice—Pipe-separated TelPro addresses that TelSys accepts calls from. Required.Operate the voice services
SIPPORTTELPROVoice5060 in the imageTelPro SIP port used with those addresses.Operate the voice services
SIP_100REL_MODEVoiceoffReliable provisional responses: off, peer_supported, yes or required.Investigate a 100rel mismatch
SIP_CAPTURE_ENABLE_PJSIP_LOGGERVoice1Asterisk SIP packet logging for SIP capture.Logs
SIP_CAPTURE_TELSYS_LOG_MAX_SIZEVoice100mDocker log file size for TelSys.Operate the voice services
SIP_CAPTURE_TELSYS_LOG_MAX_FILESVoice5Number of rotated TelSys log files.Operate the voice services
AMI_PORTVoice8038Asterisk Manager Interface port.Operate the voice services
SIP_TRUNK_HEALTH_INTERVAL_MSVoice30000Interval between evaluations of edge probe results, in milliseconds.Diagnose trunk health
SIP_TRUNK_HEALTH_FAILURE_THRESHOLDVoice2Consecutive failed or successful evaluations needed to mark a trunk unavailable or recovered.Diagnose trunk health
SIP_TRUNK_HEALTH_DEGRADED_RTT_MSVoice500Round-trip time above which a reachable trunk becomes degraded, in milliseconds.Diagnose trunk health
SIP_TRUNK_HEALTH_REDIS_TTL_MSVoice60000Lifetime of the monitor heartbeat in Redis, in milliseconds.Diagnose trunk health
AMI_USERVoiceasteriskAsterisk Manager Interface user.Operate the voice services
AMI_SECRETVoiceImage default (secret)Asterisk Manager Interface password. Override it in every deployment.Operate the voice services
RTPSTART, RTPENDVoice10000, 11999TelSys RTP port range.Prerequisites
TELPHI_MEDIA_HOST, TELPHI_MEDIA_PORT, TELPHI_MEDIA_PATH, TELPHI_MEDIA_SCHEMEVoice0.0.0.0, 12001, /media, wsTelPhi media WebSocket that TelSys connects to for each call leg.Operate the voice services
TELPHI_ENABLE_MEDIA_LOGGINGVoicefalseAdds media transport logging in TelPhi.This page
ARIHTTPSESSIONLIMITVoice (TelSys image)1000Concurrent Asterisk HTTP sessions for ARI. New in 0.9.18.ARI session limits
ARIWEBSOCKETWRITETIMEOUTVoice (TelSys image)1000Milliseconds Asterisk waits for a slow ARI WebSocket reader. New in 0.9.18.ARI session limits
EGRESS_TLS_REJECT_UNAUTHORIZEDVoicetrueSet to false only for test endpoints with private certificates.This page
GPT_LIVE_PILOT_ENABLEDVoicefalseAllows the GPT-Live pilot runtime on this host; otherwise TelPhi rejects it. New in 0.9.18.Provider and channel
AZURE_STT_AUDIO_FLUSH_MSVoice— (50 ms batches)Audio per Azure speech-to-text push, 20–200 ms. Larger values save CPU and add latency. New in 0.9.18.This page
RECORDING_ENABLEDVoicefalseTurns call recording on for the Voice host.Recording output
RECORDING_BUCKETVoicerecordingsStorage bucket for recordings.Recording output
AUDIOPROC_ENABLEDVoicefalseSends caller audio through AudioProc.Operate the voice services
AUDIOPROC_URLVoicews://127.0.0.1:8790AudioProc address that TelPhi uses.Operate the voice services
AUDIOPROC_PORTVoice8790AudioProc listener port.Operate the voice services
AUDIOPROC_DEVICEVoicecpuProcessing device for AudioProc.Operate the voice services

The standard Voice Compose file does not pass ARIHTTPSESSIONLIMIT or ARIWEBSOCKETWRITETIMEOUT, so the TelSys image defaults apply. See ARI session limits before you change them.

Ops variables​

VariableRole(s)Range and defaultEffectWhere explained
MIGRATION_DATABASE_URLOps— (secret)Privileged database URL for the one-shot migration and setup container only.Bootstrap and migration
RUN_BASELINE_SEEDOpstrueRuns the baseline seed after migrations.Bootstrap and migration
RUN_ACTIVE_FLOW_REDIS_SYNCOpstrueBackfills active flows into Redis after migrations.Bootstrap and migration
REDIS_SYNC_TIMEOUT_SECONDSOps0Overall deadline for that backfill; 0 means no deadline.Bootstrap and migration
LEADER_ELECTION_KEYOpsvoiceai:scaler:leaderRedis key for Scaler leader election.Background jobs
TASKER_LEADER_ELECTION_KEYOpsvoiceai:tasker:leaderRedis key for Tasker leader election.Background jobs
LEADER_HEARTBEAT_INTERVAL_MSOps5000Leader heartbeat interval for Scaler and Tasker.Background jobs
LEADER_LOCK_TTL_MSOps10000Leader lock lifetime for Scaler and Tasker.Background jobs
SCALING_EVALUATION_INTERVAL_MSOps30000Interval between Scaler evaluations.Interpret scaling and health
SCALING_SCRIPTS_PATHOps/opt/services/ops/scalingLocation of the scaling scripts inside the Scaler.This page
INFRASTRUCTURE_REPO_PATHOps/opt/services/opsLocation of the Ops bundle inside the Scaler.This page
WORKER_POLL_INTERVAL_MSOps5000Tasker worker polling interval.Background jobs
WORKER_CONCURRENCYOps5Jobs that one Tasker worker runs in parallel.Background jobs
SCHEDULER_POLL_INTERVAL_MSOps10000Tasker scheduler polling interval.Background jobs
SMS_API_KEYOps— (secret)SMS provider credential. Tasker checks it before sending.Configure and diagnose SMS delivery
BASTION_PUBLIC_KEYOps—SSH public key that the Scaler adds to new servers. Required.Provision instances and bootstrap a role
BASTION_HOSTOps—Bastion address that the edge TLS refresh job connects through.Verify platform TLS
BASTION_SSH_KEY_B64Ops— (secret)Preferred SSH key for that job, written to a temporary protected file.Verify platform TLS
BASTION_SSH_KEY_PATHOps/root/.ssh/bastion_keyFallback key path inside Tasker when the encoded key is unset.Verify platform TLS
HETZNER_API_TOKENOps— (secret)Cloud provider token for scaling and for DNS-based certificate renewal.Prerequisites
EDGE_TLS_RENEWAL_THRESHOLD_DAYS, EDGE_TLS_CERTBOT_STAGINGOpsSee owner pageEdge certificate renewal settings.Verify platform TLS

Media variables​

VariableRole(s)Range and defaultEffectWhere explained
MEDIA_DATA_DIRMedia/mnt/media-dataHost directory for stored media.Managed system audio
MEDIA_HTTPS_PORTMedia443HTTPS port of the media server.Prerequisites
MEDIA_TLS_CERT_HOST_PATHMedia—Legacy host directory with fullchain.pem and privkey.pem, used with a warning when the issued pair is missing or invalid.Media HTTPS trust
MEDIA_TLS_FULLCHAIN_B64Media—Base64 of the Media server certificate followed by the media CA.Media HTTPS trust
MEDIA_TLS_PRIVKEY_B64Media— (secret)Base64 private key of that certificate.Media HTTPS trust
MEDIA_UPLOAD_TOKENMedia— (secret)Token that authorizes uploads to the media server.Managed system audio
SYSTEM_AUDIO_STORAGE_BACKENDMediafilesystemStorage backend for managed system audio: filesystem or s3.Managed system audio
SYSTEM_AUDIO_S3_BUCKET_PREFIX, SYSTEM_AUDIO_S3_ACCOUNT_ID, SYSTEM_AUDIO_S3_REGION, SYSTEM_AUDIO_S3_PREFIX, SYSTEM_AUDIO_S3_ENDPOINTMedia—Settings for automatic S3 bucket provisioning. New in 0.9.18.Managed system audio
SYSTEM_AUDIO_S3_BUCKETSMedia—Alternative map of existing bucket names per owner. New in 0.9.18.Managed system audio
SYSTEM_AUDIO_MIGRATION_OWNERSMedia—Path to the owner manifest for the one-time system-audio storage migration command.Managed system audio
SYSTEM_AUDIO_CACHE_DIRMedia/data/system-audio-cacheDisposable playback cache directory. New in 0.9.18.Managed system audio
SYSTEM_AUDIO_CACHE_MAX_BYTESMedia0Playback cache limit; 0 reads directly from verified storage. New in 0.9.18.Managed system audio

TelPro variables​

VariableRole(s)Range and defaultEffectWhere explained
SIP_PORTTelPro5060Public SIP port for UDP and TCP.Prerequisites
SIPS_PORTTelPro5061Public SIP-over-TLS port.Prerequisites
EXTERNAL_IPTelPro—Address to advertise when the edge sits behind a load balancer or NAT.NAT and media addresses
KAMAILIO_INSTANCE_ID, TELPRO_INSTANCE_IDTelProHost nameIdentity of this edge in Redis drain, heartbeat and refresh keys.Drain an edge instance
TELPRO_HA_ENABLEDTelProfalseTurns on two-edge operation with floating addresses.Two-edge operation
TELPRO_INITIAL_ACTIVE_INSTANCE_ID, TELPRO_PROVIDER_SERVER_ID, TELPRO_PEER_INSTANCE_ID, TELPRO_PEER_PROVIDER_SERVER_ID, TELPRO_SIP_FLOATING_IP_ID, TELPRO_MEDIA_FLOATING_IP_IDTelPro—Host-local identities for the two-edge pair.Two-edge operation
TELPRO_SIP_IP, TELPRO_MEDIA_IPTelPro—Signaling and media addresses that the edge advertises.NAT and media addresses
TELPRO_FLOATING_IP_BIND_ENABLEDTelProfalseBinds the configured floating addresses while two-edge operation stays off. New in 0.9.19.Bind the floating media address
TELPRO_MEDIA_INTERFACETelProDefault-route interfaceInterface that receives TELPRO_MEDIA_IP; must be visible to Janus. New in 0.9.19.Bind the floating media address
TURN_RELAY_IPTelProEmptyAddress that TURN binds its relay sockets to. TELPRO_MEDIA_IP, when set, takes precedence. New in 0.9.19.Bind the floating media address
TELPRO_DIALOG_IP, TELPRO_RTP_BIND_IP, TELPRO_RTP_ADVERTISE_IPTelPro—Stable per-edge dialog and media addresses for answered calls. The RTP advertise address wins for the advertised media address. New in 0.9.19.Two-edge operation
TELPRO_GROUP_NAMETelPro—Server group that this edge reports to. Optional while exactly one TelPro group exists. New in 0.9.19.Server Groups maintenance
TELPRO_ROUTING_PROVIDER, TELPRO_ROUTING_TARGET_IDS, TELPRO_ROUTING_ENDPOINT, TELPRO_ROUTING_TOKENTelProhetzner, —, —, — (secret)Routing integration that moves the admission address. The token stays on the host and is never passed to containers; initialization and the host reconciler read it. New in 0.9.19.Two-edge operation
EDGE_TLS_FULLCHAIN_SOURCE_VERSION, EDGE_TLS_PRIVKEY_SOURCE_VERSIONTelProunknownVersion of the secret that supplied the certificate and key, set by initialization. New in 0.9.19.Two-edge operation
HCLOUD_TOKENTelPro— (secret)Cloud provider token that moves floating addresses. Read by initialization and the host reconciler.Two-edge operation
TELPRO_TLS_VERIFY_ENDPOINTTelProEdge name and SIPS_PORTAddress where a TLS reload checks the served certificate.Verify platform TLS
RTPENGINE_INTERFACESTelPro—Network interfaces that RTPEngine uses.Operate the telephony edge
RTP_PORT_MIN, RTP_PORT_MAXTelPro20000, 40000RTPEngine media port range.Prerequisites
RTPENGINE_SOCKET, RTPENGINE_SOCKET_1, RTPENGINE_SOCKET_2, RTPENGINE_SET_IDTelPro—, —, —, 0Control sockets and set that Kamailio uses to reach RTPEngine.Operate the telephony edge
RTPENGINE_LISTEN_NG, RTPENGINE_LISTEN_HTTP, RTPENGINE_LISTEN_CLI, RTPENGINE_LISTEN_PORTTelProRTPENGINE_LISTEN_PORT: 22222RTPEngine control listeners; the health check uses the listen port.Operate the telephony edge
STRUCTURED_LOGGING_ENABLEDTelProtrue at initializationEmits structured Kamailio events such as trunk identification failures.Operate the telephony edge
SIP_CAPTURE_TELPRO_LOG_MAX_SIZETelPro100mDocker log file size for Kamailio.Operate the telephony edge
SIP_CAPTURE_TELPRO_LOG_MAX_FILESTelPro5Number of rotated Kamailio log files.Operate the telephony edge
JANUS_WS_PORTTelPro443Browser WebSocket port of Janus.Prerequisites
JANUS_WSS_ENABLEDTelProtrueServes the Janus WebSocket over TLS.Operate the telephony edge
JANUS_ADMIN_PORTTelPro7088Janus admin port.This page
JANUS_RTP_PORT_MIN, JANUS_RTP_PORT_MAXTelPro10000, 12000Janus media port range.Prerequisites
KAMAILIO_SIP_HOSTTelProPrivate address of the hostKamailio address that Janus sends SIP to.Operate the telephony edge
STUN_SERVER, STUN_PORTTelProA public STUN service, 19302STUN server that Janus uses for address discovery.This page
TURN_SERVER, TURN_PUBLIC_IPTelPro—TURN address for Janus and the public address that coturn advertises.Operate the telephony edge
TURN_PORT, TURN_TLS_PORTTelPro3478, 5349coturn listener ports.Prerequisites
TURN_MIN_PORT, TURN_MAX_PORTTelPro49152, 51152coturn relay port range.Prerequisites
TURN_REALM, TURN_LISTEN_IP, TURN_ENABLE_TLSTelProtelpro, empty, truecoturn realm, bind addresses and TLS listener switch.This page
HEALTH_PROBE_ENABLED, HEALTH_PROBE_TARGET_HOST, HEALTH_PROBE_TARGET_PORT, HEALTH_PROBE_TRUNK_IDS, HEALTH_PROBE_INTERVAL, HEALTH_PROBE_TIMEOUTTelProfalse, —, 5060, —, 60, 3Optional SIP OPTIONS probes towards a trunk target.Trunk health controls
LOG_TO_SPAN_OTLP_ENDPOINTTelProlocalhost:4318Local collector that the log-to-span sidecar sends traces to.Telemetry and monitoring
LOG_TO_SPAN_EXPORT_LOGSTelProfalseAlso exports the converted log records.Telemetry and monitoring

Database variables​

VariableRole(s)Range and defaultEffectWhere explained
DATA_DIRDatabase/mnt/dataHost directory for PostgreSQL and Redis data.This page
POSTGRES_USERDatabasevoiceaiPostgreSQL application user. Required.Database credentials
POSTGRES_PASSWORDDatabase— (secret)Password of that user. Required.Database credentials
POSTGRES_DBDatabasevoiceaiApplication database name. Required.Database credentials
POSTGRES_HOST, POSTGRES_PORTDatabase127.0.0.1, 5432PostgreSQL address that the local collector monitors.This page
PGBOUNCER_PORTDatabase6432PgBouncer listener that application roles connect to.Prerequisites
POSTGRES_FORCE_SSLDatabaseoffRejects PostgreSQL connections without TLS when on.Verify platform TLS
INTERNAL_TLS_CERT_B64, INTERNAL_TLS_KEY_B64Database— (secret)Server certificate and key for internal TLS, written to disk by initialization.Verify platform TLS
POSTGRES_MONITORING_USERDatabasemonitoringPostgreSQL user for the metrics collector.This page
POSTGRES_MONITORING_PASSWORDDatabase— (secret)Password of the monitoring user.This page

SigNoz variables​

VariableRole(s)Range and defaultEffectWhere explained
SIGNOZ_DATA_DIRSigNoz/mnt/signoz-dataHost directory for SigNoz data.Telemetry and monitoring
SIGNOZ_TRANSPARENT_PROXY_PORTSSigNoz80,443,25,465,587Outbound ports that the SigNoz host sends through the proxy.Prerequisites
SIGNOZ_VERSION, SIGNOZ_OTELCOL_TAG, CLICKHOUSE_IMAGESigNozSee the owner pageVersion pins for SigNoz, its ingest collector and ClickHouse.Declared upstream versions
SIGNOZ_CLICKHOUSE_REPLICA, SIGNOZ_CLICKHOUSE_SHARDSigNoz01, 01ClickHouse replica and shard identifiers.This page
SMTP_FROMSigNoz—Sender address of SigNoz alert email.Telemetry and monitoring

Verify the effective values​

  1. On the host, run show-env.sh --service <role> and confirm that every variable you set appears in the list.
  2. Check the running container for the non-secret values you changed, for example with docker inspect.
  3. Repeat the functional check from Service health for the changed role.