[{"data":1,"prerenderedAt":842},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fuser\u002Fcustom-npm-packages\u002F":3,"docs-nav":388},{"id":4,"title":5,"body":6,"description":376,"extension":377,"layout":378,"meta":379,"navGroup":378,"navGroupOrder":378,"navOrder":378,"navTitle":5,"navigation":380,"originalPath":381,"path":382,"redirect":378,"seo":383,"stem":384,"updated":385,"version":386,"__hash__":387},"docs\u002Fdocs\u002Fuser\u002Fcustom-npm-packages.md","Custom Node Packages",{"type":7,"value":8,"toc":362},"minimark",[9,13,25,34,44,49,52,57,60,65,68,71,84,94,98,101,121,127,267,271,278,284,287,296,300,307,316,320,323,327,330,333,342,346,349,358],[10,11,5],"h1",{"id":12},"custom-node-packages",[14,15,16,17,24],"p",{},"FlowFuse has access to the wide range of Node-RED nodes listed in the\n",[18,19,23],"a",{"href":20,"rel":21},"https:\u002F\u002Fflows.nodered.org",[22],"nofollow","public catalogue",". But occasionally there\nwill be the need for a custom node for a situation that is specific\nto your Team.",[14,26,27,28,33],{},"If you decide to ",[18,29,32],{"href":30,"rel":31},"https:\u002F\u002Fnodered.org\u002Fdocs\u002Fcreating-nodes\u002F",[22],"develop"," your\nown nodes, you will need somewhere to host both the node and a Node-RED\ncatalogue file. FlowFuse has two solutions for this:",[35,36,37,41],"ol",{},[38,39,40],"li",{},"FlowFuse Hosted Nodes - Use the private NPM registry hosted by FlowFuse to store and manage your custom npm packages.",[38,42,43],{},"Third-Party NPM Registries - If you already have a private npm registry, you can enable access to these in your Instance's settings.",[45,46,48],"h2",{"id":47},"flowfuse-hosted-nodes","FlowFuse Hosted Nodes",[14,50,51],{},"If you want to create a Node-RED node for private use by Instances in your\nFlowFuse Team then you can publish them to the FlowFuse Custom Node Registry\n(available to Enterprise level teams on FlowFuse Cloud).",[53,54,56],"h3",{"id":55},"publishing-nodes","Publishing Nodes",[14,58,59],{},"After developing your node you can publish it to your Teams Custom Nodes\nregistry with the following steps",[61,62,64],"h4",{"id":63},"authenticating","Authenticating",[14,66,67],{},"Before publishing to the registry you need to authenticate. This step should\nonly need to be done once.",[14,69,70],{},"The credentials can be found by navigating to the \"Custom Nodes\" tab under\nthe Team Library and clicking on the \"Publish\" button.",[14,72,73,79,80],{},[74,75],"img",{"alt":76,"dataZoomable":77,"src":78},"Publish Custom Package","","\u002Fdocs\u002Fuser\u002Fimages\u002Fpublish-custom-package.png","{style=\"max-width: 600px;\"}\n",[81,82,83],"em",{},"Screenshot fo the \"Publish Custom Package\" dialog shown in the FlowFuse UI",[85,86,91],"pre",{"className":87,"code":89,"language":90},[88],"language-text","npm login --registry=https:\u002F\u002Fregistry.flowfuse.cloud\n","text",[92,93,89],"code",{"__ignoreMap":77},[61,95,97],{"id":96},"packaging","Packaging",[14,99,100],{},"There are steps required to ensure your node is correctly packaged for the\nFlowFuse Custom Nodes registry",[35,102,103,110],{},[38,104,105,106,109],{},"Make sure the package name contains the correct scope prefix e.g.\n",[92,107,108],{},"@flowfuse-[team id]\u002Fnode-name",". The correct prefix will be shown on the in\nthe FlowFuse application",[38,111,112,113,116,117,120],{},"Add a ",[92,114,115],{},"publishConfig"," section with a ",[92,118,119],{},"registry"," entry",[14,122,123,124],{},"e.g. for a Team with ID ",[92,125,126],{},"6Rag1kQj4k",[85,128,132],{"className":129,"code":130,"language":131,"meta":77,"style":77},"language-json shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","{\n    \"name\": \"@flowfuse-6Rag1kQj4k\u002Fbar\",\n    \"version\": \"0.0.1\",\n    \"description\": \"...\",\n    \"publishConfig\": {\n        \"registry\": \"https:\u002F\u002Fregistry.flowfuse.cloud\"\n    },\n    ...\n}\n","json",[92,133,134,143,171,192,213,227,248,254,261],{"__ignoreMap":77},[135,136,139],"span",{"class":137,"line":138},"line",1,[135,140,142],{"class":141},"sMK4o","{\n",[135,144,146,149,153,156,159,162,166,168],{"class":137,"line":145},2,[135,147,148],{"class":141},"    \"",[135,150,152],{"class":151},"spNyl","name",[135,154,155],{"class":141},"\"",[135,157,158],{"class":141},":",[135,160,161],{"class":141}," \"",[135,163,165],{"class":164},"sfazB","@flowfuse-6Rag1kQj4k\u002Fbar",[135,167,155],{"class":141},[135,169,170],{"class":141},",\n",[135,172,174,176,179,181,183,185,188,190],{"class":137,"line":173},3,[135,175,148],{"class":141},[135,177,178],{"class":151},"version",[135,180,155],{"class":141},[135,182,158],{"class":141},[135,184,161],{"class":141},[135,186,187],{"class":164},"0.0.1",[135,189,155],{"class":141},[135,191,170],{"class":141},[135,193,195,197,200,202,204,206,209,211],{"class":137,"line":194},4,[135,196,148],{"class":141},[135,198,199],{"class":151},"description",[135,201,155],{"class":141},[135,203,158],{"class":141},[135,205,161],{"class":141},[135,207,208],{"class":164},"...",[135,210,155],{"class":141},[135,212,170],{"class":141},[135,214,216,218,220,222,224],{"class":137,"line":215},5,[135,217,148],{"class":141},[135,219,115],{"class":151},[135,221,155],{"class":141},[135,223,158],{"class":141},[135,225,226],{"class":141}," {\n",[135,228,230,233,236,238,240,242,245],{"class":137,"line":229},6,[135,231,232],{"class":141},"        \"",[135,234,119],{"class":235},"sBMFI",[135,237,155],{"class":141},[135,239,158],{"class":141},[135,241,161],{"class":141},[135,243,244],{"class":164},"https:\u002F\u002Fregistry.flowfuse.cloud",[135,246,247],{"class":141},"\"\n",[135,249,251],{"class":137,"line":250},7,[135,252,253],{"class":141},"    },\n",[135,255,257],{"class":137,"line":256},8,[135,258,260],{"class":259},"sTEyZ","    ...\n",[135,262,264],{"class":137,"line":263},9,[135,265,266],{"class":141},"}\n",[61,268,270],{"id":269},"publishing","Publishing",[14,272,273,274,277],{},"In the same directory as the ",[92,275,276],{},"package.json"," file run the following command",[85,279,282],{"className":280,"code":281,"language":90},[88],"npm publish\n",[92,283,281],{"__ignoreMap":77},[14,285,286],{},"Once published you should see the Node listed in the \"Custom Nodes\" section\nof the Team Library.",[14,288,289,293,294],{},[74,290],{"alt":291,"dataZoomable":77,"src":292},"Screenshot of the \"Custom Nodes\" view in the Team Library","\u002Fdocs\u002Fuser\u002Fimages\u002Fcustom-node-library.png","{style=\"max-width: 850px;\"}\n",[81,295,291],{},[53,297,299],{"id":298},"installing-nodes","Installing Nodes",[14,301,302,303,306],{},"Any packages uploaded to the Team Library will be published to your Instances\nunder a custom catalogue with the name \"FlowFuse Team ",[135,304,305],{},"team name"," Catalogue\"",[14,308,309,79,313],{},[74,310],{"alt":311,"dataZoomable":77,"src":312},"Node-RED Custom Catalogue","\u002Fdocs\u002Fuser\u002Fimages\u002Fcustom-catalogue.png",[81,314,315],{},"Screenshot of the contents of a FlowFUse catalogue appearing in the \"install\" tab of the Node-RED Palette Manager",[45,317,319],{"id":318},"_3rd-party-npm-registries-or-private-npmjsorg-packages","3rd Party NPM Registries or Private npmjs.org packages",[14,321,322],{},"The following features are available to Enterprise users of FlowFuse\nCloud.",[53,324,326],{"id":325},"npm-registries","NPM Registries",[14,328,329],{},"If you have already published packages to an existing NPM Registry then you\ncan enable access to this by adding the required values to a `.npmrc\" file\nin the Instance Settings.",[14,331,332],{},"This can include authentication tokens to access private packages.",[14,334,335,79,339],{},[74,336],{"alt":337,"dataZoomable":77,"src":338},".npmrc file","\u002Fdocs\u002Fuser\u002Fimages\u002Finstance-settings-npmrc.png",[81,340,341],{},"Screenshot from the FlowFuse platform, showing the input for defining an .npmrc file",[53,343,345],{"id":344},"node-red-catalogues","Node-RED Catalogues",[14,347,348],{},"In order to be able to install packages in the Node-RED editor they need to\nin a Node-RED Catalogue file that is loaded from a HTTPS URL. You can\nsupply a list of Catalogue URLs in the Instance Settings.",[14,350,351,79,355],{},[74,352],{"alt":353,"dataZoomable":77,"src":354},"Node Catalogues","\u002Fdocs\u002Fuser\u002Fimages\u002Finstance-settings-catalogues.png",[81,356,357],{},"Screenshot of the listed Node Catalogues configured on an Instance",[359,360,361],"style",{},"html pre.shiki code .sMK4o, html code.shiki .sMK4o{--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF}html pre.shiki code .spNyl, html code.shiki .spNyl{--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA}html pre.shiki code .sfazB, html code.shiki .sfazB{--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D}html pre.shiki code .sBMFI, html code.shiki .sBMFI{--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B}html pre.shiki code .sTEyZ, html code.shiki .sTEyZ{--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":77,"searchDepth":194,"depth":194,"links":363},[364,372],{"id":47,"depth":145,"text":48,"children":365},[366,371],{"id":55,"depth":173,"text":56,"children":367},[368,369,370],{"id":63,"depth":194,"text":64},{"id":96,"depth":194,"text":97},{"id":269,"depth":194,"text":270},{"id":298,"depth":173,"text":299},{"id":318,"depth":145,"text":319,"children":373},[374,375],{"id":325,"depth":173,"text":326},{"id":344,"depth":173,"text":345},"FlowFuse has access to the wide range of Node-RED nodes listed in the\npublic catalogue. But occasionally there\nwill be the need for a custom node for a situation that is specific\nto your Team.","md",null,{},true,"user\u002Fcustom-npm-packages.md","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",{"title":5,"description":376},"docs\u002Fuser\u002Fcustom-npm-packages","2026-07-24 11:22:34 -0700","2.33.2","kGK7YmxcV0fcjazPMvRp2bdqjfyGSuLUJgEDhIUZ_Jc",[389,396,415,426],{"name":390,"order":138,"children":391},"FlowFuse User Manuals",[392],{"title":393,"path":394,"group":390,"groupOrder":138,"order":145,"children":395},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":397,"order":194,"children":398},"FlowFuse Self-Hosted",[399,403],{"title":400,"path":401,"group":397,"groupOrder":194,"order":138,"children":402},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":404,"path":405,"group":397,"groupOrder":194,"order":173,"children":406},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[407,411],{"title":408,"path":409,"order":378,"children":410},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":412,"path":413,"order":378,"children":414},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":416,"order":215,"children":417},"Support",[418,422],{"title":419,"path":420,"group":416,"groupOrder":215,"order":173,"children":421},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":423,"path":424,"group":416,"groupOrder":215,"order":378,"children":425},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":427,"order":378,"children":428},"Other",[429,477,489,568,616,635,709,720],{"title":430,"path":431,"order":378,"children":432},"admin","\u002Fdocs\u002Fadmin",[433,437,449,457,461,465,469,473],{"title":434,"path":435,"order":138,"children":436},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":438,"path":439,"order":378,"children":440},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[441,445],{"title":442,"path":443,"order":378,"children":444},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":446,"path":447,"order":378,"children":448},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":450,"path":451,"order":378,"children":452},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[453],{"title":454,"path":455,"order":378,"children":456},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":458,"path":459,"order":378,"children":460},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":462,"path":463,"order":378,"children":464},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":466,"path":467,"order":378,"children":468},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":470,"path":471,"order":378,"children":472},"Telemetry","\u002Fdocs\u002Fadmin\u002Ftelemetry",[],{"title":474,"path":475,"order":378,"children":476},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":478,"path":479,"order":378,"children":480},"cloud","\u002Fdocs\u002Fcloud",[481,485],{"title":482,"path":483,"order":138,"children":484},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":486,"path":487,"order":378,"children":488},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":490,"path":491,"order":378,"children":492},"contribute","\u002Fdocs\u002Fcontribute",[493,496,500,504,508,512,516,524,560,564],{"title":482,"path":494,"order":138,"children":495},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":497,"path":498,"order":378,"children":499},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":501,"path":502,"order":378,"children":503},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":505,"path":506,"order":378,"children":507},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":509,"path":510,"order":378,"children":511},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":513,"path":514,"order":378,"children":515},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":517,"path":518,"order":378,"children":519},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[520],{"title":521,"path":522,"order":378,"children":523},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":525,"path":526,"order":378,"children":527},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[528,532,536,540,544,548,552,556],{"title":529,"path":530,"order":378,"children":531},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":533,"path":534,"order":378,"children":535},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":537,"path":538,"order":378,"children":539},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":541,"path":542,"order":378,"children":543},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":545,"path":546,"order":378,"children":547},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":549,"path":550,"order":378,"children":551},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":553,"path":554,"order":378,"children":555},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":557,"path":558,"order":378,"children":559},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":561,"path":562,"order":378,"children":563},"Team Broker","\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":565,"path":566,"order":378,"children":567},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":569,"path":570,"order":378,"children":571},"device-agent","\u002Fdocs\u002Fdevice-agent",[572,576,579,583,587,591],{"title":573,"path":574,"order":138,"children":575},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":400,"path":577,"order":145,"children":578},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":580,"path":581,"order":194,"children":582},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":584,"path":585,"order":215,"children":586},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":588,"path":589,"order":229,"children":590},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",[],{"title":592,"path":593,"order":378,"children":594},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[595,600,604,608,612],{"title":596,"path":597,"group":598,"order":138,"children":599},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":601,"path":602,"group":598,"order":145,"children":603},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":605,"path":606,"group":598,"order":173,"children":607},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":609,"path":610,"group":598,"order":194,"children":611},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":613,"path":614,"group":598,"order":215,"children":615},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":617,"path":618,"order":378,"children":619},"hardware","\u002Fdocs\u002Fhardware",[620,623,627,631],{"title":596,"path":621,"order":138,"children":622},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":624,"path":625,"order":145,"children":626},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":628,"path":629,"order":173,"children":630},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":632,"path":633,"order":173,"children":634},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":592,"path":636,"order":378,"children":637},"\u002Fdocs\u002Finstall",[638,641,645,649,669,673,677,681],{"title":596,"path":639,"order":138,"children":640},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":642,"path":643,"order":378,"children":644},"Configuring FlowFuse","\u002Fdocs\u002Finstall\u002Fconfiguration",[],{"title":646,"path":647,"order":378,"children":648},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":650,"path":651,"order":378,"children":652},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[653,657,661,665],{"title":654,"path":655,"order":378,"children":656},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":658,"path":659,"order":378,"children":660},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":662,"path":663,"order":378,"children":664},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":666,"path":667,"order":378,"children":668},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":670,"path":671,"order":378,"children":672},"Email configuration","\u002Fdocs\u002Finstall\u002Femail-providers",[],{"title":674,"path":675,"order":378,"children":676},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":678,"path":679,"order":378,"children":680},"FlowFuse File Storage","\u002Fdocs\u002Finstall\u002Ffile-storage",[],{"title":682,"path":683,"order":378,"children":684},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[685,689,693,697,701,705],{"title":686,"path":687,"order":378,"children":688},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":690,"path":691,"order":378,"children":692},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":694,"path":695,"order":378,"children":696},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":698,"path":699,"order":378,"children":700},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":702,"path":703,"order":378,"children":704},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":706,"path":707,"order":378,"children":708},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":710,"path":711,"order":378,"children":712},"migration","\u002Fdocs\u002Fmigration",[713,716],{"title":482,"path":714,"order":138,"children":715},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":717,"path":718,"order":378,"children":719},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":721,"path":722,"order":378,"children":723},"user","\u002Fdocs\u002Fuser",[724,728,732,736,740,745,749,753,755,759,763,767,779,783,787,791,795,799,803,807,811,815,819,823,827,831,834,838],{"title":725,"path":726,"order":138,"children":727},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":729,"path":730,"order":138,"children":731},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":733,"path":734,"order":145,"children":735},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":737,"path":738,"order":145,"children":739},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":741,"path":742,"order":743,"children":744},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":746,"path":747,"order":378,"children":748},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":750,"path":751,"order":378,"children":752},"Custom Hostnames","\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":5,"path":382,"order":378,"children":754},[],{"title":756,"path":757,"order":378,"children":758},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":760,"path":761,"order":378,"children":762},"DevOps Pipelines","\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":764,"path":765,"order":378,"children":766},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":768,"path":769,"order":378,"children":770},"FlowFuse Expert","\u002Fdocs\u002Fuser\u002Fexpert",[771,775],{"title":772,"path":773,"order":378,"children":774},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":776,"path":777,"order":378,"children":778},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":780,"path":781,"order":378,"children":782},"FlowFuse File Nodes","\u002Fdocs\u002Fuser\u002Ffilenodes",[],{"title":784,"path":785,"order":378,"children":786},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":788,"path":789,"order":378,"children":790},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":792,"path":793,"order":378,"children":794},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":796,"path":797,"order":378,"children":798},"FlowFuse Tables","\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":800,"path":801,"order":378,"children":802},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":804,"path":805,"order":378,"children":806},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":808,"path":809,"order":378,"children":810},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":812,"path":813,"order":378,"children":814},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":816,"path":817,"order":378,"children":818},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":820,"path":821,"order":378,"children":822},"Role-Based Access Control","\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":824,"path":825,"order":378,"children":826},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":828,"path":829,"order":378,"children":830},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":561,"path":832,"order":378,"children":833},"\u002Fdocs\u002Fuser\u002Fteambroker",[],{"title":835,"path":836,"order":378,"children":837},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":839,"path":840,"order":378,"children":841},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786546043899]