[{"data":1,"prerenderedAt":691},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fuser\u002Fenvvar\u002F":3,"docs-nav":233},{"id":4,"title":5,"body":6,"description":221,"extension":222,"layout":223,"meta":224,"navGroup":223,"navGroupOrder":223,"navOrder":223,"navTitle":5,"navigation":225,"originalPath":226,"path":227,"redirect":223,"seo":228,"stem":229,"updated":230,"version":231,"__hash__":232},"docs\u002Fdocs\u002Fuser\u002Fenvvar.md","Environment Variables",{"type":7,"value":8,"toc":212},"minimark",[9,13,25,28,33,45,48,52,60,63,67,74,84,87,90,134,139,143,146,168,171,203,206],[10,11,5],"h1",{"id":12},"environment-variables",[14,15,16,17,24],"p",{},"Environment Variables allow you to manage variables used in your Node-RED flows from the FlowFuse application, you can read more on how to access environment variables inside Node-RED ",[18,19,23],"a",{"href":20,"rel":21},"https:\u002F\u002Fnodered.org\u002Fdocs\u002Fuser-guide\u002Fenvironment-variables",[22],"nofollow","in the Node-RED Docs",".",[14,26,27],{},"An Environment Variable consists of a name and a value.",[29,30,32],"h2",{"id":31},"editing","Editing",[14,34,35,36,40,41,44],{},"You can edit the environment variables from the ",[37,38,39],"code",{},"Settings"," tab of an instance, select the ",[37,42,43],{},"Environment"," option from the side menu.",[14,46,47],{},"Changes will only take effect when the Node-RED instance is restarted.",[29,49,51],{"id":50},"template-provided-variables","Template provided variables",[14,53,54,55,59],{},"The ",[18,56,58],{"href":57},"\u002Fdocs\u002Fuser\u002Fconcepts#template","Template"," may include some predefined environment\nvariables that are automatically applied. The template may lock some of those\nvariables to prevent an individual instance from changing them.",[14,61,62],{},"Variables provided by the template cannot be deleted, however if they are editable,\ntheir value can be set to blank.",[29,64,66],{"id":65},"node-red-instance-variables","Node-RED instance variables",[14,68,69,70,73],{},"You can create additional variables for an individual Node-RED instance clicking the ",[37,71,72],{},"Add variable"," button.",[14,75,76,77,80,81,73],{},"You can import variables from a ",[37,78,79],{},".env"," file using the ",[37,82,83],{},"Import .env",[14,85,86],{},"You can delete a variable using the trash can icon.",[14,88,89],{},"The image below shows an instance with the following environment variables:",[91,92,93,100,106,112,117,123,128],"ul",{},[94,95,96,99],"li",{},[37,97,98],{},"policy_item_locked"," - added by the template, locked",[94,101,102,105],{},[37,103,104],{},"policy_item_editable"," - added by the template, editable",[94,107,108,111],{},[37,109,110],{},"FF_INSTANCE_ID"," - provided by the platform, locked",[94,113,114,111],{},[37,115,116],{},"FF_INSTANCE_NAME",[94,118,119,122],{},[37,120,121],{},"FF_PROJECT_ID"," - provided by the platform, locked, depreciated",[94,124,125,122],{},[37,126,127],{},"FF_PROJECT_NAME",[94,129,130,133],{},[37,131,132],{},"INSTANCE_VAR"," - added to the instance, editable",[135,136],"img",{"src":137,"width":138},"\u002Fdocs\u002Fuser\u002Fimages\u002Fproject-envvar.png",500,[29,140,142],{"id":141},"standard-environment-variables","Standard environment variables",[14,144,145],{},"Standard environment variables are set for all Node-RED instances running\nwithin the platform:",[91,147,148,153,158],{},[94,149,150,152],{},[37,151,110],{}," - The unique identifier of the instance",[94,154,155,157],{},[37,156,116],{}," - The name of the instance as set in FlowFuse",[94,159,160,163,164,167],{},[37,161,162],{},"FF_INSTANCE_URL"," - The full URL of the instance (e.g. ",[37,165,166],{},"https:\u002F\u002Fmy-instance.flowfuse.cloud",")",[14,169,170],{},"In addition, the following variables are set when running on a device:",[91,172,173,179,185,191,197],{},[94,174,175,178],{},[37,176,177],{},"FF_DEVICE_ID"," - The unique identifier of the device",[94,180,181,184],{},[37,182,183],{},"FF_DEVICE_NAME"," - The name of the device as set in FlowFuse",[94,186,187,190],{},[37,188,189],{},"FF_DEVICE_TYPE"," - The device type label assigned in FlowFuse",[94,192,193,196],{},[37,194,195],{},"FF_SNAPSHOT_ID"," - The unique identifier of the snapshot currently deployed to the device",[94,198,199,202],{},[37,200,201],{},"FF_SNAPSHOT_NAME"," - The name of the snapshot currently deployed to the device",[14,204,205],{},"When deploying the same set of flows out to multiple devices, these variables can\nbe used by the flows to identify the specific device being run on.",[14,207,208,209,211],{},"NOTE: ",[37,210,201],{}," will not be immediately updated when the current snapshot is edited.\nIt will only be updated when the snapshot is changed or a setting that causes the device to\nbe restarted is changed.",{"title":213,"searchDepth":214,"depth":214,"links":215},"",4,[216,218,219,220],{"id":31,"depth":217,"text":32},2,{"id":50,"depth":217,"text":51},{"id":65,"depth":217,"text":66},{"id":141,"depth":217,"text":142},"Environment Variables allow you to manage variables used in your Node-RED flows from the FlowFuse application, you can read more on how to access environment variables inside Node-RED in the Node-RED Docs.","md",null,{},true,"user\u002Fenvvar.md","\u002Fdocs\u002Fuser\u002Fenvvar",{"title":5,"description":221},"docs\u002Fuser\u002Fenvvar","2026-04-08 13:54:22 +0530","2.33.2","2qzifiX-GKMUnWnyo3V_qb-Av-oxBsLaMTW5LmZQxQQ",[234,242,262,274],{"name":235,"order":236,"children":237},"FlowFuse User Manuals",1,[238],{"title":239,"path":240,"group":235,"groupOrder":236,"order":217,"children":241},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":243,"order":214,"children":244},"FlowFuse Self-Hosted",[245,249],{"title":246,"path":247,"group":243,"groupOrder":214,"order":236,"children":248},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":250,"path":251,"group":243,"groupOrder":214,"order":252,"children":253},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",3,[254,258],{"title":255,"path":256,"order":223,"children":257},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":259,"path":260,"order":223,"children":261},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":263,"order":264,"children":265},"Support",5,[266,270],{"title":267,"path":268,"group":263,"groupOrder":264,"order":252,"children":269},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":271,"path":272,"group":263,"groupOrder":264,"order":223,"children":273},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":275,"order":223,"children":276},"Other",[277,325,337,416,465,484,558,569],{"title":278,"path":279,"order":223,"children":280},"admin","\u002Fdocs\u002Fadmin",[281,285,297,305,309,313,317,321],{"title":282,"path":283,"order":236,"children":284},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":286,"path":287,"order":223,"children":288},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[289,293],{"title":290,"path":291,"order":223,"children":292},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":294,"path":295,"order":223,"children":296},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":298,"path":299,"order":223,"children":300},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[301],{"title":302,"path":303,"order":223,"children":304},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":306,"path":307,"order":223,"children":308},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":310,"path":311,"order":223,"children":312},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":314,"path":315,"order":223,"children":316},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":318,"path":319,"order":223,"children":320},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":322,"path":323,"order":223,"children":324},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":326,"path":327,"order":223,"children":328},"cloud","\u002Fdocs\u002Fcloud",[329,333],{"title":330,"path":331,"order":236,"children":332},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":334,"path":335,"order":223,"children":336},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":338,"path":339,"order":223,"children":340},"contribute","\u002Fdocs\u002Fcontribute",[341,344,348,352,356,360,364,372,408,412],{"title":330,"path":342,"order":236,"children":343},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":345,"path":346,"order":223,"children":347},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":349,"path":350,"order":223,"children":351},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":353,"path":354,"order":223,"children":355},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":357,"path":358,"order":223,"children":359},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":361,"path":362,"order":223,"children":363},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":365,"path":366,"order":223,"children":367},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[368],{"title":369,"path":370,"order":223,"children":371},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":373,"path":374,"order":223,"children":375},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[376,380,384,388,392,396,400,404],{"title":377,"path":378,"order":223,"children":379},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":381,"path":382,"order":223,"children":383},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":385,"path":386,"order":223,"children":387},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":389,"path":390,"order":223,"children":391},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":393,"path":394,"order":223,"children":395},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":397,"path":398,"order":223,"children":399},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":401,"path":402,"order":223,"children":403},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":405,"path":406,"order":223,"children":407},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":409,"path":410,"order":223,"children":411},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":413,"path":414,"order":223,"children":415},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":417,"path":418,"order":223,"children":419},"device-agent","\u002Fdocs\u002Fdevice-agent",[420,424,427,431,435,440],{"title":421,"path":422,"order":236,"children":423},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":246,"path":425,"order":217,"children":426},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":428,"path":429,"order":214,"children":430},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":432,"path":433,"order":264,"children":434},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":436,"path":437,"order":438,"children":439},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":441,"path":442,"order":223,"children":443},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[444,449,453,457,461],{"title":445,"path":446,"group":447,"order":236,"children":448},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":450,"path":451,"group":447,"order":217,"children":452},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":454,"path":455,"group":447,"order":252,"children":456},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":458,"path":459,"group":447,"order":214,"children":460},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":462,"path":463,"group":447,"order":264,"children":464},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":466,"path":467,"order":223,"children":468},"hardware","\u002Fdocs\u002Fhardware",[469,472,476,480],{"title":445,"path":470,"order":236,"children":471},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":473,"path":474,"order":217,"children":475},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":477,"path":478,"order":252,"children":479},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":481,"path":482,"order":252,"children":483},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":441,"path":485,"order":223,"children":486},"\u002Fdocs\u002Finstall",[487,490,494,498,518,522,526,530],{"title":445,"path":488,"order":236,"children":489},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":491,"path":492,"order":223,"children":493},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":495,"path":496,"order":223,"children":497},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":499,"path":500,"order":223,"children":501},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[502,506,510,514],{"title":503,"path":504,"order":223,"children":505},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":507,"path":508,"order":223,"children":509},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":511,"path":512,"order":223,"children":513},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":515,"path":516,"order":223,"children":517},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":519,"path":520,"order":223,"children":521},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":523,"path":524,"order":223,"children":525},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":527,"path":528,"order":223,"children":529},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":531,"path":532,"order":223,"children":533},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[534,538,542,546,550,554],{"title":535,"path":536,"order":223,"children":537},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":539,"path":540,"order":223,"children":541},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":543,"path":544,"order":223,"children":545},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":547,"path":548,"order":223,"children":549},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":551,"path":552,"order":223,"children":553},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":555,"path":556,"order":223,"children":557},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":559,"path":560,"order":223,"children":561},"migration","\u002Fdocs\u002Fmigration",[562,565],{"title":330,"path":563,"order":236,"children":564},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":566,"path":567,"order":223,"children":568},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":570,"path":571,"order":223,"children":572},"user","\u002Fdocs\u002Fuser",[573,577,581,585,589,594,598,602,606,610,614,616,628,632,636,640,644,648,652,656,660,664,668,672,676,680,683,687],{"title":574,"path":575,"order":236,"children":576},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":578,"path":579,"order":236,"children":580},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":582,"path":583,"order":217,"children":584},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":586,"path":587,"order":217,"children":588},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":590,"path":591,"order":592,"children":593},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":595,"path":596,"order":223,"children":597},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":599,"path":600,"order":223,"children":601},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":603,"path":604,"order":223,"children":605},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":607,"path":608,"order":223,"children":609},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":611,"path":612,"order":223,"children":613},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":5,"path":227,"order":223,"children":615},[],{"title":617,"path":618,"order":223,"children":619},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[620,624],{"title":621,"path":622,"order":223,"children":623},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":625,"path":626,"order":223,"children":627},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":629,"path":630,"order":223,"children":631},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":633,"path":634,"order":223,"children":635},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":637,"path":638,"order":223,"children":639},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":641,"path":642,"order":223,"children":643},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":645,"path":646,"order":223,"children":647},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":649,"path":650,"order":223,"children":651},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":653,"path":654,"order":223,"children":655},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":657,"path":658,"order":223,"children":659},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":661,"path":662,"order":223,"children":663},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":665,"path":666,"order":223,"children":667},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":669,"path":670,"order":223,"children":671},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":673,"path":674,"order":223,"children":675},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":677,"path":678,"order":223,"children":679},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":409,"path":681,"order":223,"children":682},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":684,"path":685,"order":223,"children":686},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":688,"path":689,"order":223,"children":690},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546044211]