Skip to content

Environment Variables ​

Complete reference for all environment variables used by Proxy Smart.

Core ​

VariableDescriptionDefault
BASE_URLPublic base URL of the Proxy Smart instancehttp://localhost:8445
SITE_URLPublic website origin used for canonical links on the landing and App Store pages, when the site and the API live on different hosts (e.g. proxy-smart.com and api.proxy-smart.com)BASE_URL
PORTHTTP port for the backend server8445
NODE_ENVNode environment (production, development)--
CORS_ORIGINSComma-separated allowed CORS originsdevelopment defaults

Keycloak ​

VariableDescriptionDefault
KEYCLOAK_BASE_URLInternal Keycloak URL (container-to-container)--
KEYCLOAK_PUBLIC_URLBrowser-facing Keycloak URLderived from KEYCLOAK_BASE_URL
KEYCLOAK_REALMKeycloak realm name--
KEYCLOAK_DOMAINDomain override for public URL hostname--
KEYCLOAK_ADMIN_CLIENT_IDService account client ID--
KEYCLOAK_ADMIN_CLIENT_SECRETService account client secret--

FHIR ​

VariableDescriptionDefault
FHIR_SERVER_BASEComma-separated upstream FHIR server URLshttp://localhost:8081/fhir
FHIR_SUPPORTED_VERSIONSComma-separated FHIR versionsR4

SMART Configuration ​

VariableDescriptionDefault
SMART_CONFIG_CACHE_TTLSMART well-known configuration cache TTL (ms)300000
SMART_SCOPES_SUPPORTEDComma-separated override for supported SMART scopesauto-detected
SMART_CAPABILITIESComma-separated override for SMART capabilitiesauto-detected
VariableDescriptionDefault
CONSENT_ENABLEDEnable consent checkingfalse
CONSENT_MODEdisabled, audit-only, or enforce; only applies when CONSENT_ENABLED=trueaudit-only
CONSENT_CACHE_TTLConsent decision cache TTL (ms)60000
CONSENT_EXEMPT_CLIENTSComma-separated client IDs exempt from consent--
CONSENT_REQUIRED_RESOURCE_TYPESResource types that always require consent--
CONSENT_EXEMPT_RESOURCE_TYPESResource types exempt from consentCapabilityStatement,metadata

Identity Assurance Level (IAL) ​

VariableDescriptionDefault
IAL_ENABLEDEnable IAL verificationfalse
IAL_MINIMUM_LEVELMinimum IAL for general access (level1–level4)level1
IAL_SENSITIVE_RESOURCE_TYPESComma-separated resource types requiring elevated IAL--
IAL_SENSITIVE_MINIMUM_LEVELMinimum IAL for sensitive resourceslevel3
IAL_VERIFY_PATIENT_LINKVerify token patient matches Person.link[]true
IAL_ALLOW_ON_PERSON_LOOKUP_FAILUREAllow access if Person lookup failsfalse
IAL_CACHE_TTLPerson resource cache TTL (ms)300000

Access Control ​

VariableDescriptionDefault
SCOPE_ENFORCEMENT_MODESMART scope enforcement: disabled, audit-only, enforceenforce
ROLE_BASED_FILTERING_MODERole-based data isolation: disabled, audit-only, enforceaudit-only
PATIENT_SCOPED_RESOURCESComma-separated resource types subject to patient-scoped filteringObservation,Condition,Procedure,...

Branding (SMART 2.2.0 User-Access Brands) ​

VariableDescriptionDefault
BRAND_NAMEOrganization display namepackage display name
BRAND_WEBSITEOrganization website URLBASE_URL
BRAND_LOGO_URLLogo image URL--
BRAND_LOGO_LICENSE_URLLogo license URL--
BRAND_ALIASESComma-separated alternative names--
BRAND_CATEGORYOrganization category (prov, pay, laboratory, etc.)prov
BRAND_PORTAL_NAMEPatient portal display name--
BRAND_PORTAL_URLPatient portal URL--
BRAND_PORTAL_DESCRIPTIONPatient portal description--
BRAND_PORTAL_LOGO_URLPatient portal logo URL--
BRAND_PORTAL_LOGO_LICENSE_URLPortal logo license URL--
BRAND_ADDRESS_CITYAddress city--
BRAND_ADDRESS_STATEAddress state--
BRAND_ADDRESS_POSTAL_CODEAddress postal code--
BRAND_ADDRESS_COUNTRYAddress country--
BRAND_IDENTIFIERBrand identifier URIBRAND_WEBSITE or BASE_URL

MCP ​

VariableDescriptionDefault
OPENAI_API_KEYAPI key for embeddings and semantic search--
MCP_ENDPOINT_PATHMCP endpoint URL path/mcp
MCP_PREFAB_UIRender MCP tool results as prefab UIs for MCP Apps hosts. Tools stop advertising outputSchema when onfalse

App Store ​

VariableDescriptionDefault
APP_STORE_SHOW_ADMINShow the Admin link in the app store header. The store is a public page and the console only works for a staff admin, so it is hidden unless a deployment asks for itfalse

Replaces APP_STORE_HIDE_ADMIN, which defaulted to SHOWING the link: a deployment that set nothing published a link to the staff console on a public page. Set APP_STORE_SHOW_ADMIN=true to get the old behaviour back on an internal deployment.

DICOMweb Proxy ​

VariableDescriptionDefault
DICOMWEB_BASE_URLUpstream PACS DICOMweb URL-- (disabled if unset)
DICOMWEB_WADO_ROOTWADO-RS root URLDICOMWEB_BASE_URL
DICOMWEB_QIDO_ROOTQIDO-RS root URLDICOMWEB_BASE_URL
DICOMWEB_UPSTREAM_AUTHAuth header for upstream PACS--
DICOMWEB_TIMEOUT_MSRequest timeout for PACS calls (ms)30000

Proxy Smart — Healthcare Interoperability Platform