[{"data":1,"prerenderedAt":530},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fdevice-agent\u002Fintroduction\u002F":3,"docs-nav":76},{"id":4,"title":5,"body":6,"description":20,"extension":63,"layout":64,"meta":65,"navGroup":64,"navGroupOrder":64,"navOrder":66,"navTitle":67,"navigation":68,"originalPath":69,"path":70,"redirect":64,"seo":71,"stem":72,"updated":73,"version":74,"__hash__":75},"docs\u002Fdocs\u002Fdevice-agent\u002Fintroduction.md","FlowFuse Device Agent",{"type":7,"value":8,"toc":57},"minimark",[9,13,22,27,30,33,37,40,49],[10,11,5],"h1",{"id":12},"flowfuse-device-agent",[14,15,16],"p",{},[17,18],"img",{"alt":19,"dataZoomable":20,"src":21},"The installer running in a terminal, walking through sign-up and connection to FlowFuse","","\u002Fdocs\u002Fdevice-agent\u002Fimages\u002Fdevice-agent-install.gif",[23,24,26],"h3",{"id":25},"overview","Overview",[14,28,29],{},"FlowFuse Device Agent allows you to remotely manage Node-RED instances running on your hardware, for example, devices on your factory floor.",[14,31,32],{},"The Agent creates a secure connection between the FlowFuse Platform and your devices, enabling you to manage and deploy your applications.",[23,34,36],{"id":35},"get-started","Get Started",[14,38,39],{},"You can install the Device Agent on any hardware capable of running Node.js \u002F Node-RED.",[14,41,42,43,48],{},"The ",[44,45,47],"a",{"href":46},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart","Quick Start Guide"," will get the Device Agent installed and connected to FlowFuse in under 5 minutes.",[14,50,51,52,56],{},"For more detailed information on installing and running the Device Agent, the full ",[44,53,55],{"href":54},"\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","installation guide"," has you covered.",{"title":20,"searchDepth":58,"depth":58,"links":59},4,[60,62],{"id":25,"depth":61,"text":26},3,{"id":35,"depth":61,"text":36},"md",null,{},1,"FlowFuse Device Agent Introduction",true,"device-agent\u002Fintroduction.md","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",{"title":5,"description":20},"docs\u002Fdevice-agent\u002Fintroduction","2026-08-03 10:28:57 +0100","2.33.2","VKnE_K9QoWjlIyJCWYfasfNvSKaxIVGJhMv5YhMW5T4",[77,85,104,116],{"name":78,"order":66,"children":79},"FlowFuse User Manuals",[80],{"title":81,"path":82,"group":78,"groupOrder":66,"order":83,"children":84},"FlowFuse API","\u002Fdocs\u002Fapi",2,[],{"name":86,"order":58,"children":87},"FlowFuse Self-Hosted",[88,92],{"title":89,"path":90,"group":86,"groupOrder":58,"order":66,"children":91},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":93,"path":94,"group":86,"groupOrder":58,"order":61,"children":95},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[96,100],{"title":97,"path":98,"order":64,"children":99},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":101,"path":102,"order":64,"children":103},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":105,"order":106,"children":107},"Support",5,[108,112],{"title":109,"path":110,"group":105,"groupOrder":106,"order":61,"children":111},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":113,"path":114,"group":105,"groupOrder":106,"order":64,"children":115},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":117,"order":64,"children":118},"Other",[119,167,179,258,302,321,395,406],{"title":120,"path":121,"order":64,"children":122},"admin","\u002Fdocs\u002Fadmin",[123,127,139,147,151,155,159,163],{"title":124,"path":125,"order":66,"children":126},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":128,"path":129,"order":64,"children":130},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[131,135],{"title":132,"path":133,"order":64,"children":134},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":136,"path":137,"order":64,"children":138},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":140,"path":141,"order":64,"children":142},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[143],{"title":144,"path":145,"order":64,"children":146},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":148,"path":149,"order":64,"children":150},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":152,"path":153,"order":64,"children":154},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":156,"path":157,"order":64,"children":158},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":160,"path":161,"order":64,"children":162},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":164,"path":165,"order":64,"children":166},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":168,"path":169,"order":64,"children":170},"cloud","\u002Fdocs\u002Fcloud",[171,175],{"title":172,"path":173,"order":66,"children":174},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":176,"path":177,"order":64,"children":178},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":180,"path":181,"order":64,"children":182},"contribute","\u002Fdocs\u002Fcontribute",[183,186,190,194,198,202,206,214,250,254],{"title":172,"path":184,"order":66,"children":185},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":187,"path":188,"order":64,"children":189},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":191,"path":192,"order":64,"children":193},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":195,"path":196,"order":64,"children":197},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":199,"path":200,"order":64,"children":201},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":203,"path":204,"order":64,"children":205},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":207,"path":208,"order":64,"children":209},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[210],{"title":211,"path":212,"order":64,"children":213},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":215,"path":216,"order":64,"children":217},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[218,222,226,230,234,238,242,246],{"title":219,"path":220,"order":64,"children":221},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":223,"path":224,"order":64,"children":225},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":227,"path":228,"order":64,"children":229},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":231,"path":232,"order":64,"children":233},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":235,"path":236,"order":64,"children":237},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":239,"path":240,"order":64,"children":241},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":243,"path":244,"order":64,"children":245},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":247,"path":248,"order":64,"children":249},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":251,"path":252,"order":64,"children":253},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":255,"path":256,"order":64,"children":257},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":259,"path":260,"order":64,"children":261},"device-agent","\u002Fdocs\u002Fdevice-agent",[262,264,266,270,274,279],{"title":67,"path":70,"order":66,"children":263},[],{"title":89,"path":46,"order":83,"children":265},[],{"title":267,"path":268,"order":58,"children":269},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":271,"path":272,"order":106,"children":273},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":275,"path":276,"order":277,"children":278},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":280,"path":281,"order":64,"children":282},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[283,286,290,294,298],{"title":26,"path":54,"group":284,"order":66,"children":285},"DeviceAgentInstallation",[],{"title":287,"path":288,"group":284,"order":83,"children":289},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":291,"path":292,"group":284,"order":61,"children":293},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":295,"path":296,"group":284,"order":58,"children":297},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":299,"path":300,"group":284,"order":106,"children":301},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":303,"path":304,"order":64,"children":305},"hardware","\u002Fdocs\u002Fhardware",[306,309,313,317],{"title":26,"path":307,"order":66,"children":308},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":310,"path":311,"order":83,"children":312},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":314,"path":315,"order":61,"children":316},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":318,"path":319,"order":61,"children":320},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":280,"path":322,"order":64,"children":323},"\u002Fdocs\u002Finstall",[324,327,331,335,355,359,363,367],{"title":26,"path":325,"order":66,"children":326},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":328,"path":329,"order":64,"children":330},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":332,"path":333,"order":64,"children":334},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":336,"path":337,"order":64,"children":338},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[339,343,347,351],{"title":340,"path":341,"order":64,"children":342},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":344,"path":345,"order":64,"children":346},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":348,"path":349,"order":64,"children":350},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":352,"path":353,"order":64,"children":354},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":356,"path":357,"order":64,"children":358},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":360,"path":361,"order":64,"children":362},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":364,"path":365,"order":64,"children":366},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":368,"path":369,"order":64,"children":370},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[371,375,379,383,387,391],{"title":372,"path":373,"order":64,"children":374},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":376,"path":377,"order":64,"children":378},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":380,"path":381,"order":64,"children":382},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":384,"path":385,"order":64,"children":386},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":388,"path":389,"order":64,"children":390},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":392,"path":393,"order":64,"children":394},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":396,"path":397,"order":64,"children":398},"migration","\u002Fdocs\u002Fmigration",[399,402],{"title":172,"path":400,"order":66,"children":401},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":403,"path":404,"order":64,"children":405},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":407,"path":408,"order":64,"children":409},"user","\u002Fdocs\u002Fuser",[410,414,418,422,426,431,435,439,443,447,451,455,467,471,475,479,483,487,491,495,499,503,507,511,515,519,522,526],{"title":411,"path":412,"order":66,"children":413},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":415,"path":416,"order":66,"children":417},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":419,"path":420,"order":83,"children":421},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":423,"path":424,"order":83,"children":425},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":427,"path":428,"order":429,"children":430},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":432,"path":433,"order":64,"children":434},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":436,"path":437,"order":64,"children":438},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":440,"path":441,"order":64,"children":442},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":444,"path":445,"order":64,"children":446},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":448,"path":449,"order":64,"children":450},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":452,"path":453,"order":64,"children":454},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":456,"path":457,"order":64,"children":458},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[459,463],{"title":460,"path":461,"order":64,"children":462},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":464,"path":465,"order":64,"children":466},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":468,"path":469,"order":64,"children":470},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":472,"path":473,"order":64,"children":474},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":476,"path":477,"order":64,"children":478},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":480,"path":481,"order":64,"children":482},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":484,"path":485,"order":64,"children":486},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":488,"path":489,"order":64,"children":490},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":492,"path":493,"order":64,"children":494},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":496,"path":497,"order":64,"children":498},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":500,"path":501,"order":64,"children":502},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":504,"path":505,"order":64,"children":506},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":508,"path":509,"order":64,"children":510},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":512,"path":513,"order":64,"children":514},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":516,"path":517,"order":64,"children":518},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":251,"path":520,"order":64,"children":521},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":523,"path":524,"order":64,"children":525},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":527,"path":528,"order":64,"children":529},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546040154]