[{"data":1,"prerenderedAt":2669},["ShallowReactive",2],{"docs-\u002Fdocs\u002Finstall\u002Fconfiguration\u002F":3,"featureCatalog":1832,"docs-nav":2225},{"id":4,"title":5,"body":6,"description":1820,"extension":1821,"layout":1822,"meta":1823,"navGroup":1822,"navGroupOrder":1822,"navOrder":1822,"navTitle":5,"navigation":1824,"originalPath":1825,"path":1826,"redirect":1822,"seo":1827,"stem":1828,"updated":1829,"version":1830,"__hash__":1831},"docs\u002Fdocs\u002Finstall\u002Fconfiguration.md","Configuring FlowFuse",{"type":7,"value":8,"toc":1788},"minimark",[9,13,26,29,34,188,197,200,231,235,245,269,274,303,307,376,380,383,408,412,473,477,522,526,647,651,654,657,698,702,705,828,837,841,844,847,895,899,910,913,948,954,1060,1064,1067,1076,1079,1155,1164,1168,1171,1213,1217,1226,1267,1270,1289,1296,1313,1321,1357,1361,1388,1392,1443,1449,1459,1463,1473,1522,1531,1546,1549,1553,1556,1562,1569,1591,1595,1598,1601,1616,1624,1631,1635,1699,1703,1706,1760,1764,1767],[10,11,5],"h1",{"id":12},"configuring-flowfuse",[14,15,16,17,21,22,25],"p",{},"The base configuration of the FlowFuse platform is provided in the file\n",[18,19,20],"code",{},"\u002Fopt\u002Fflowforge\u002Fetc\u002Fflowforge.yml",". This assumes the default install location\nof ",[18,23,24],{},"\u002Fopt\u002Fflowforge",".",[14,27,28],{},"To run a local install, you can use the default options. This section describes\nthe options available in the configuration file.",[30,31,33],"h2",{"id":32},"server-configuration","Server configuration",[35,36,37,50],"table",{},[38,39,40],"thead",{},[41,42,43,47],"tr",{},[44,45,46],"th",{},"Option",[44,48,49],{},"Description",[51,52,53,86,99,115,125,147,164,178],"tbody",{},[41,54,55,61],{},[56,57,58],"td",{},[18,59,60],{},"host",[56,62,63,64,67,68,71,72,75,76,78,79,82,83],{},"The address to serve the web ui on. This defaults to ",[18,65,66],{},"localhost"," which means the ui will only be available when browsing from the same server that is running the platform. To make it accessible to other devices on the network, set it to ",[18,69,70],{},"0.0.0.0",". ",[73,74],"br",{},"NOTE: If ",[18,77,60],{}," is changed, please also update ",[18,80,81],{},"base_url"," to match e.g.  ",[18,84,85],{},"http:\u002F\u002F[ip-address-of-host]:3000",[41,87,88,93],{},[56,89,90],{},[18,91,92],{},"port",[56,94,95,96],{},"The TCP port the platform serves its web ui. Default: ",[18,97,98],{},"3000",[41,100,101,105],{},[56,102,103],{},[18,104,81],{},[56,106,107,108,111,112,114],{},"The url to access the platform. This defaults to ",[18,109,110],{},"http:\u002F\u002Flocalhost:3000"," which means a number of internally generated URLs will only work when browsing on the same device as is running the platform. To be able to access the platform remotely, replace ",[18,113,66],{}," with the ip address of the device running FlowFuse.",[41,116,117,122],{},[56,118,119],{},[18,120,121],{},"domain",[56,123,124],{},"The domain that instance names will be prepended to on Docker & Kubernetes platforms to create a hostname to access the instance. A wildcard DNS A record should point be configured to point to the FlowFuse entry IP Address.",[41,126,127,132],{},[56,128,129],{},[18,130,131],{},"support_contact",[56,133,134,135,138,139,142,143,146],{},"a URL or string with contact details for the administrator e.g ",[18,136,137],{},"mailto:support@example.com"," or ",[18,140,141],{},"https:\u002F\u002Fsupport.example.com"," . Defaults to the email address of the first admin user or ",[18,144,145],{},"the administrator"," if no email address set.",[41,148,149,154],{},[56,150,151],{},[18,152,153],{},"create_admin",[56,155,156,157,160,161],{},"If set to ",[18,158,159],{},"true"," will create a default admin user on first run, the username\u002Fpassword is written to the logs. Default: ",[18,162,163],{},"false",[41,165,166,171],{},[56,167,168],{},[18,169,170],{},"create_admin_access_token",[56,172,156,173,175,176],{},[18,174,159],{}," an access token (ffpat) is created for the default admin user on first run. Its value is written to the logs. Default: ",[18,177,163],{},[41,179,180,185],{},[56,181,182],{},[18,183,184],{},"license",[56,186,187],{},"Can be used to pass in a license key for FlowFuse. Default not set",[14,189,190,191,193,194,196],{},"NOTE: Changing the ",[18,192,81],{}," and ",[18,195,121],{}," after Node-RED instances have been created is possible, but the original hostname and domain must remain active in order to access the instances and for an them to be able to access the FlowFuse resources.",[14,198,199],{},"An example workflow would be:",[201,202,203,207,219,222,225,228],"ol",{},[204,205,206],"li",{},"Register new domain",[204,208,209,210],{},"Set up DNS entries for:\n",[211,212,213,216],"ul",{},[204,214,215],{},"A record for the forge app",[204,217,218],{},"wildcard A record for the domain",[204,220,221],{},"Leave the existing entries for the old domain in place",[204,223,224],{},"Stop the forge app",[204,226,227],{},"Edit the flowforge.yml to set the base_url and domain entries",[204,229,230],{},"Restart the forge app",[30,232,234],{"id":233},"database-configuration","Database configuration",[14,236,237,238,193,241,244],{},"FlowFuse supports ",[18,239,240],{},"sqlite",[18,242,243],{},"postgres"," databases.",[35,246,247,255],{},[38,248,249],{},[41,250,251,253],{},[44,252,46],{},[44,254,49],{},[51,256,257],{},[41,258,259,264],{},[56,260,261],{},[18,262,263],{},"db.type",[56,265,266,267,25],{},"The type of database to use. Default: ",[18,268,240],{},[270,271,273],"h3",{"id":272},"sqlite-configuration","SQLite configuration",[35,275,276,284],{},[38,277,278],{},[41,279,280,282],{},[44,281,46],{},[44,283,49],{},[51,285,286],{},[41,287,288,293],{},[56,289,290],{},[18,291,292],{},"db.storage",[56,294,295,296,299,300,25],{},"Path to the SQLite Database file to use, relative to ",[18,297,298],{},"\u002Fopt\u002Fflowforge\u002Fvar\u002F",". Default: ",[18,301,302],{},"forge.db",[270,304,306],{"id":305},"postgres-configuration","Postgres configuration",[35,308,309,317],{},[38,310,311],{},[41,312,313,315],{},[44,314,46],{},[44,316,49],{},[51,318,319,331,344,354,364],{},[41,320,321,326],{},[56,322,323],{},[18,324,325],{},"db.host",[56,327,328,329,25],{},"Hostname of the Postgres Database. Default: ",[18,330,243],{},[41,332,333,338],{},[56,334,335],{},[18,336,337],{},"db.database",[56,339,340,341,25],{},"Database name on Postgres Server. Default: ",[18,342,343],{},"flowforge",[41,345,346,351],{},[56,347,348],{},[18,349,350],{},"db.user",[56,352,353],{},"Username used when connecting to Postgres Server.",[41,355,356,361],{},[56,357,358],{},[18,359,360],{},"db.password",[56,362,363],{},"Password used when connecting to Postgres Server.",[41,365,366,371],{},[56,367,368],{},[18,369,370],{},"db.ssl",[56,372,373,374],{},"Client should connect with SSL\u002FTLS. Default: ",[18,375,163],{},[30,377,379],{"id":378},"node-red-driver-configuration","Node-RED Driver configuration",[14,381,382],{},"This configures how Node-RED instances are run by the platform.",[35,384,385,393],{},[38,386,387],{},[41,388,389,391],{},[44,390,46],{},[44,392,49],{},[51,394,395],{},[41,396,397,402],{},[56,398,399],{},[18,400,401],{},"driver.type",[56,403,404,405],{},"The type of deployment model to use. Default: ",[18,406,407],{},"localfs",[270,409,411],{"id":410},"localfs-driver-options","Localfs Driver options",[35,413,414,422],{},[38,415,416],{},[41,417,418,420],{},[44,419,46],{},[44,421,49],{},[51,423,424,437,451,463],{},[41,425,426,431],{},[56,427,428],{},[18,429,430],{},"driver.options.start_port",[56,432,433,434],{},"The port number to start assigning to Node-RED instances as they are created. Default: ",[18,435,436],{},"12080",[41,438,439,444],{},[56,440,441],{},[18,442,443],{},"driver.options.node_path",[56,445,446,447,450],{},"The path to find the node.js executable - useful if Node.js has been installed with ",[18,448,449],{},"nvm"," so isn't necessarily on the system path.",[41,452,453,458],{},[56,454,455],{},[18,456,457],{},"driver.options.logPassthrough",[56,459,460,461],{},"Prints the Node-RED logs in JSON format to stdout of the nr-launcher process. Default: ",[18,462,163],{},[41,464,465,470],{},[56,466,467],{},[18,468,469],{},"driver.options.privateCA",[56,471,472],{},"The fully qualified path to a pem file containing locally trusted CA cert chain. Default: not set",[270,474,476],{"id":475},"docker-driver-options","Docker Driver options",[35,478,479,487],{},[38,480,481],{},[41,482,483,485],{},[44,484,46],{},[44,486,49],{},[51,488,489,502,513],{},[41,490,491,496],{},[56,492,493],{},[18,494,495],{},"driver.options.socket",[56,497,498,499],{},"The path to the Docker control unix domain socket. Default ",[18,500,501],{},"\u002Fvar\u002Frun\u002Fdocker.sock",[41,503,504,508],{},[56,505,506],{},[18,507,457],{},[56,509,510,511],{},"Prints the Node-RED logs in JSON format to stdout of the Instance containers. Default: ",[18,512,163],{},[41,514,515,519],{},[56,516,517],{},[18,518,469],{},[56,520,521],{},"The fully qualified path to a pem file on the host machine containing locally trusted CA cert chain. Default: not set",[270,523,525],{"id":524},"kubernetes-driver-options","Kubernetes Driver options",[35,527,528,536],{},[38,529,530],{},[41,531,532,534],{},[44,533,46],{},[44,535,49],{},[51,537,538,550,564,577,592,605,617,627,637],{},[41,539,540,545],{},[56,541,542],{},[18,543,544],{},"driver.options.namespace",[56,546,547,548],{},"The namespace to run Node-RED instances in. Default: ",[18,549,343],{},[41,551,552,557],{},[56,553,554],{},[18,555,556],{},"driver.options.cloudProvider",[56,558,559,560,563],{},"Enables specific options for certain platforms e.g. ",[18,561,562],{},"aws",". Default: not set",[41,565,566,571],{},[56,567,568],{},[18,569,570],{},"driver.options.projectSelector",[56,572,573,574],{},"A YAML object containing node annotations to use to filter which nodes Node-RED instances run on. Default: ",[18,575,576],{},"role: projects",[41,578,579,583],{},[56,580,581],{},[18,582,457],{},[56,584,585,586,589,590],{},"Prints the Node-RED logs in JSON format to stdout of the instance pods. This should be set with the ",[18,587,588],{},"forge.logPassthrough=true"," Helm chart value. Default: ",[18,591,163],{},[41,593,594,598],{},[56,595,596],{},[18,597,469],{},[56,599,600,601,604],{},"The name of a ConfigMap containing a file called ",[18,602,603],{},"certs.pem"," which holds locally trusted CA cert chain. Default: not set",[41,606,607,612],{},[56,608,609],{},[18,610,611],{},"driver.options.customHostname.enabled",[56,613,614,615],{},"Enables the custom hostname feature. Default: ",[18,616,163],{},[41,618,619,624],{},[56,620,621],{},[18,622,623],{},"driver.options.customHostname.cnameTarget",[56,625,626],{},"The hostname users should configure their DNS entries to point at. This value is required to enable this feature. Default: not set",[41,628,629,634],{},[56,630,631],{},[18,632,633],{},"driver.options.customHostname.ingressClass",[56,635,636],{},"The name of the Ingress Class that should be used for the custom hostname. Default: not set",[41,638,639,644],{},[56,640,641],{},[18,642,643],{},"driver.options.customHostname.certManagerIssuer",[56,645,646],{},"The name of the CertManager ClusterIssuer to provision HTTPS certificates for custom hostnames. Default: not set",[30,648,650],{"id":649},"mqtt-broker-configuration","MQTT Broker configuration",[14,652,653],{},"By default, the platform runs without an MQTT broker. This restricts some features\nin the platform, such as the Project Nodes, Device Actions and Remote Device Editing.",[14,655,656],{},"If a broker has been setup in the platform, the following configuration is required:",[35,658,659,667],{},[38,660,661],{},[41,662,663,665],{},[44,664,46],{},[44,666,49],{},[51,668,669,682],{},[41,670,671,676],{},[56,672,673],{},[18,674,675],{},"broker.url",[56,677,678,679,25],{},"The url for the platform to access the broker. For example: ",[18,680,681],{},"mqtt:\u002F\u002Flocalhost:4800",[41,683,684,689],{},[56,685,686],{},[18,687,688],{},"broker.public_url",[56,690,691,692,694,695,25],{},"The url used by devices to connect to the broker, if different to ",[18,693,675],{},". For example, this may require devices to use WebSockets instead: ",[18,696,697],{},"ws:\u002F\u002Flocalhost:4881",[30,699,701],{"id":700},"email-configuration","Email configuration",[14,703,704],{},"By default, email is disabled. This restricts some features in the platform around\ninviting new users to join.",[35,706,707,715],{},[38,708,709],{},[41,710,711,713],{},[44,712,46],{},[44,714,49],{},[51,716,717,729,742,754,779,791,804,816],{},[41,718,719,724],{},[56,720,721],{},[18,722,723],{},"email.enabled",[56,725,726,727],{},"Enables the email sending functionality of the platform. Default: ",[18,728,163],{},[41,730,731,736],{},[56,732,733],{},[18,734,735],{},"email.from",[56,737,738,739],{},"Sets the address email will appear from. Default: ",[18,740,741],{},"\"FlowFuse\" \u003Cdonotreply@flowforge.com>",[41,743,744,749],{},[56,745,746],{},[18,747,748],{},"email.smtp.host",[56,750,751,752],{},"Hostname of the SMTP server to send email through. Default: ",[18,753,66],{},[41,755,756,761],{},[56,757,758],{},[18,759,760],{},"email.smtp.port",[56,762,763,764,767,768,771,772,774,775,778],{},"Port of the SMTP server to send email through. Default: ",[18,765,766],{},"587"," if ",[18,769,770],{},"secure"," is ",[18,773,163],{},", ",[18,776,777],{},"465"," otherwise",[41,780,781,786],{},[56,782,783],{},[18,784,785],{},"email.smtp.secure",[56,787,788,789],{},"Whether to use TLS to connect to the SMTP server. Default: ",[18,790,163],{},[41,792,793,798],{},[56,794,795],{},[18,796,797],{},"email.smtp.auth.user",[56,799,800,801],{},"Username to authenticate the connection with. Default: ",[18,802,803],{},"unset",[41,805,806,811],{},[56,807,808],{},[18,809,810],{},"email.smtp.auth.pass",[56,812,813,814],{},"Password to authenticate the connection with. Default: ",[18,815,803],{},[41,817,818,823],{},[56,819,820],{},[18,821,822],{},"email.debug",[56,824,825,826],{},"If set to true, it will log the full content of emails it tries to send. Default: ",[18,827,163],{},[14,829,830,831,836],{},"See ",[832,833,835],"a",{"href":834},"\u002Fdocs\u002Finstall\u002Femail-providers","here"," for example configuration with common email providers.",[270,838,840],{"id":839},"aws-ses-email","AWS SES Email",[14,842,843],{},"There is also support for using AWS SES email, this is mainly intended to be used when deployed on AWS EKS.",[14,845,846],{},"This assumes that the instance is running with a Service Account that has a AWS Role with SES access enabled.",[35,848,849,857],{},[38,850,851],{},[41,852,853,855],{},[44,854,46],{},[44,856,49],{},[51,858,859,871,883],{},[41,860,861,866],{},[56,862,863],{},[18,864,865],{},"email.ses.region",[56,867,868,869],{},"The AWS region to connect to. Default ",[18,870,803],{},[41,872,873,878],{},[56,874,875],{},[18,876,877],{},"email.ses.sourceArn",[56,879,880,881],{},"The AWS ARN of a SES Identity to send email as. Default: ",[18,882,803],{},[41,884,885,890],{},[56,886,887],{},[18,888,889],{},"email.ses.fromArn",[56,891,892,893],{},"The AWS ARN of a SES Identity to set as the from field. Default to value of ",[18,894,877],{},[30,896,898],{"id":897},"telemetry-configuration","Telemetry configuration",[14,900,901,902,905,906],{},"By default, the platform will send anonymous usage information back to us at FlowForge Inc.\nThis can be disabled via the Admin Settings in the UI, or turned off in the configuration file with the ",[18,903,904],{},"telemetry.enabled"," option.\n",[907,908,909],"strong",{},"IMPORTANT: Licensed installations cannot disable telemetry",[14,911,912],{},"Additionally, you can configure your own instance of FlowFuse to report back to you on how users are using your instance of FlowFuse. FlowFuse supports integration with two different services:",[211,914,915,933],{},[204,916,917,923,924,928,929,932],{},[832,918,922],{"href":919,"rel":920},"https:\u002F\u002Fposthog.com\u002F",[921],"nofollow","PostHog"," ",[925,926,927],"em",{},"(recommended)",": You will require your own API key to pass into the ",[18,930,931],{},"yml",", which will begin the logging of user interactions.",[204,934,935,940,941,944,945,947],{},[832,936,939],{"href":937,"rel":938},"https:\u002F\u002Fplausible.io\u002F",[921],"Plausible",": ",[925,942,943],{},"(deprecated since 0.9 and will be removed in the future)",": You can setup your own account, and pass the relevant domain to the ",[18,946,931],{}," in the telemetry configuration",[14,949,950,951],{},"For more information about this feature, see ",[832,952,835],{"href":953},"\u002Fdocs\u002Fadmin\u002Ftelemetry",[35,955,956,964],{},[38,957,958],{},[41,959,960,962],{},[44,961,46],{},[44,963,49],{},[51,965,966,977,999,1012,1036,1048],{},[41,967,968,972],{},[56,969,970],{},[18,971,904],{},[56,973,974,975],{},"Enables the anonymous usage telemetry of the platform. Default: ",[18,976,159],{},[41,978,979,984],{},[56,980,981],{},[18,982,983],{},"telemetry.frontend.posthog.apiurl",[56,985,986,987,991,992,996,997],{},"The API URL for PostHog, either '",[832,988,989],{"href":989,"rel":990},"https:\u002F\u002Fapp.posthog.com",[921],"' or '",[832,993,994],{"href":994,"rel":995},"https:\u002F\u002Feu.posthog.com",[921],"'. Default: ",[18,998,989],{},[41,1000,1001,1006],{},[56,1002,1003],{},[18,1004,1005],{},"telemetry.frontend.posthog.apikey",[56,1007,1008,1009],{},"The API key provided to you from your own PostHog account. Default: ",[18,1010,1011],{},"null",[41,1013,1014,1019],{},[56,1015,1016],{},[18,1017,1018],{},"telemetry.frontend.posthog.capture_pageview",[56,1020,1021,1022,1025,1026,1029,1030,1033,1034],{},"FlowFuse is designed as to provide custom posthog ",[18,1023,1024],{},"$pageview"," events that provide more detail on navigation than the default, and suit a single page application better. As such, we recommend setting this to false in order to prevent duplicate ",[18,1027,1028],{},"pageleave","\u002F",[18,1031,1032],{},"pageview"," events firing. Default: ",[18,1035,159],{},[41,1037,1038,1043],{},[56,1039,1040],{},[18,1041,1042],{},"telemetry.frontend.google.tag",[56,1044,1045,1046],{},"A Google Tag Manager ID. Default: ",[18,1047,1011],{},[41,1049,1050,1055],{},[56,1051,1052],{},[18,1053,1054],{},"telemetry.frontend.google.events",[56,1056,1057,1058],{},"An object with keys matching the names of tag events to be enabled and any payload values. Default ",[18,1059,1011],{},[30,1061,1063],{"id":1062},"rate-limiting-configuration","Rate Limiting configuration",[14,1065,1066],{},"By default, rate limiting is disabled and the platform will not rate limit any requests.",[14,1068,1069,1070,1073,1074,25],{},"To enable rate limiting, you can set the ",[18,1071,1072],{},"rate_limits.enabled"," option to ",[18,1075,159],{},[14,1077,1078],{},"When enabled, all routes will be limited to 1000 requests per 1 minute window. These defaults can be adjusted by setting values in the configuration options listed below.",[35,1080,1081,1089],{},[38,1082,1083],{},[41,1084,1085,1087],{},[44,1086,46],{},[44,1088,49],{},[51,1090,1091,1102,1115,1129,1142],{},[41,1092,1093,1097],{},[56,1094,1095],{},[18,1096,1072],{},[56,1098,1099,1100],{},"Enables rate limiting. Default: ",[18,1101,163],{},[41,1103,1104,1109],{},[56,1105,1106],{},[18,1107,1108],{},"rate_limits.global",[56,1110,1111,1112,1114],{},"Enables rate limiting for all routes. Default: ",[18,1113,159],{}," (defaults to all routes being rate limited)",[41,1116,1117,1122],{},[56,1118,1119],{},[18,1120,1121],{},"rate_limits.timeWindow",[56,1123,1124,1125,1128],{},"The time window in which requests are counted. Default: ",[18,1126,1127],{},"60000"," (1 minute)",[41,1130,1131,1136],{},[56,1132,1133],{},[18,1134,1135],{},"rate_limits.max",[56,1137,1138,1139],{},"The maximum number of requests allowed in the time window. Default: ",[18,1140,1141],{},"1000",[41,1143,1144,1149],{},[56,1145,1146],{},[18,1147,1148],{},"rate_limits.maxAnonymous",[56,1150,1151,1152,1154],{},"The maximum number of requests allowed in the time window for anonymous users. Default: not configured (defaults to ",[18,1153,1135],{},")",[14,1156,1157,1158,1163],{},"For additional options, see ",[832,1159,1162],{"href":1160,"rel":1161},"https:\u002F\u002Fgithub.com\u002Ffastify\u002Ffastify-rate-limit#options",[921],"fastify-rate-limit"," documentation.",[30,1165,1167],{"id":1166},"session-timeouts","Session timeouts",[14,1169,1170],{},"Allows control of the maximum user session life.",[35,1172,1173,1181],{},[38,1174,1175],{},[41,1176,1177,1179],{},[44,1178,46],{},[44,1180,49],{},[51,1182,1183,1197],{},[41,1184,1185,1190],{},[56,1186,1187],{},[18,1188,1189],{},"sessions.maxDuration",[56,1191,1192,1193,1196],{},"The maximum number of seconds a user session can last. Default: ",[18,1194,1195],{},"604800"," (1 week)",[41,1198,1199,1204],{},[56,1200,1201],{},[18,1202,1203],{},"sessions.maxIdleDuration",[56,1205,1206,1207,299,1209,1212],{},"The maximum number of seconds a session can be idle. Must be less than ",[18,1208,1189],{},[18,1210,1211],{},"115200"," (32 hours)",[30,1214,1216],{"id":1215},"support-configuration","Support configuration",[14,1218,1219,1220,1225],{},"It is possible to add a ",[832,1221,1224],{"href":1222,"rel":1223},"https:\u002F\u002Fknowledge.hubspot.com\u002Fchatflows\u002Fcreate-a-live-chat",[921],"HubSpot Support Widget"," into FlowFuse. This will appear as a floating chat bubble on the bottom-right corner of the screen. To enable this, you'll need to provide the",[35,1227,1228,1236],{},[38,1229,1230],{},[41,1231,1232,1234],{},[44,1233,46],{},[44,1235,49],{},[51,1237,1238,1250],{},[41,1239,1240,1245],{},[56,1241,1242],{},[18,1243,1244],{},"support.enabled",[56,1246,1247,1248],{},"Enables the chat support widget in the UI. Default: ",[18,1249,163],{},[41,1251,1252,1257],{},[56,1253,1254],{},[18,1255,1256],{},"support.frontend.hubspot.trackingcode",[56,1258,1259,1260,299,1265],{},"The numerical identifier within your ",[832,1261,1264],{"href":1262,"rel":1263},"https:\u002F\u002Fknowledge.hubspot.com\u002Fconversations\u002Fchat-widget-is-not-appearing-on-your-pages",[921],"HubSpot Tracking Code",[18,1266,1011],{},[30,1268,650],{"id":1269},"mqtt-broker-configuration-1",[14,1271,1272,1273,1278,1279,1282,1283,1288],{},"The platform uses an MQTT broker to provide real-time messaging between devices,\nNode-RED instances and the platform. The broker shipped with the platform's\nDocker Compose and Kubernetes installations is ",[832,1274,1277],{"href":1275,"rel":1276},"https:\u002F\u002Fwww.emqx.io\u002F",[921],"EMQX",": the\nDocker Compose installation includes it by default, and the Helm chart deploys it\nwhen the broker is enabled (",[18,1280,1281],{},"forge.broker.enabled","), which requires the\n",[832,1284,1287],{"href":1285,"rel":1286},"https:\u002F\u002Fdocs.emqx.com\u002Fen\u002Femqx-operator\u002Flatest\u002Fgetting-started\u002Fgetting-started.html#install-emqx-operator",[921],"EMQX Operator","\nto be installed on the cluster.",[14,1290,1291,1292,1295],{},"This is currently an ",[925,1293,1294],{},"optional"," component - the platform will work without the\nbroker, but some features will not be available:",[211,1297,1298,1301],{},[204,1299,1300],{},"Without a broker: Project Nodes, Device Actions and Remote Device Editing are unavailable.",[204,1302,1303,1304,774,1308,1312],{},"The following features additionally require the platform broker to be EMQX:\nthe ",[832,1305,1307],{"href":1306},"\u002Fdocs\u002Fuser\u002Fteambroker","Team Broker",[832,1309,1311],{"href":1310},"\u002Fdocs\u002Fuser\u002Fexpert\u002F","FlowFuse Expert","\nand live device log and performance views in the platform UI.",[14,1314,1315,1320],{},[832,1316,1319],{"href":1317,"rel":1318},"https:\u002F\u002Fmosquitto.org\u002F",[921],"Mosquitto"," is supported at a legacy level for existing\ninstallations that manage their own broker: core platform messaging works, but the\nEMQX-dependent features listed above are unavailable. Replacing the platform broker\nwith a different customer-supplied broker is not supported.",[35,1322,1323,1331],{},[38,1324,1325],{},[41,1326,1327,1329],{},[44,1328,46],{},[44,1330,49],{},[51,1332,1333,1345],{},[41,1334,1335,1339],{},[56,1336,1337],{},[18,1338,675],{},[56,1340,1341,1342,25],{},"The full url to the platform broker. This is used by the platform and Node-RED instances to connect to the broker. For example: ",[18,1343,1344],{},"mqtt:\u002F\u002Flocalhost:1883",[41,1346,1347,1351],{},[56,1348,1349],{},[18,1350,688],{},[56,1352,1353,1354],{},"If set, this is the url provided to Devices to connect to the broker with. When running in a Docker or K8S environment, this url should be the externally addressable url the broker is provided on. This could be via WebSockets, for example: ",[18,1355,1356],{},"ws:\u002F\u002Fexample.com:1884",[30,1358,1360],{"id":1359},"ai-configuration","AI Configuration",[35,1362,1363,1371],{},[38,1364,1365],{},[41,1366,1367,1369],{},[44,1368,46],{},[44,1370,49],{},[51,1372,1373],{},[41,1374,1375,1380],{},[56,1376,1377],{},[18,1378,1379],{},"ai.enabled",[56,1381,1382,1383,1385,1386],{},"Enables all AI features on the platform (still requires an Enterprise License). When set to ",[18,1384,163],{},", all AI functionality is disabled regardless of individual feature configuration (assistant, expert, inline completions, snapshot descriptions). Default: ",[18,1387,159],{},[30,1389,1391],{"id":1390},"ff-tables","FF Tables",[35,1393,1394,1402],{},[38,1395,1396],{},[41,1397,1398,1400],{},[44,1399,46],{},[44,1401,49],{},[51,1403,1404,1416,1433],{},[41,1405,1406,1411],{},[56,1407,1408],{},[18,1409,1410],{},"tables.enables",[56,1412,1413,1414],{},"Enables the FlowFuse Tables feature. Default: ",[18,1415,163],{},[41,1417,1418,1423],{},[56,1419,1420],{},[18,1421,1422],{},"tables.driver.type",[56,1424,1425,1426,138,1429,1432],{},"Selects the FF Tables driver to use (",[18,1427,1428],{},"postgres-localfs",[18,1430,1431],{},"postgres-supavisor","). Default: not set",[41,1434,1435,1440],{},[56,1436,1437],{},[18,1438,1439],{},"tables.driver.options",[56,1441,1442],{},"Configuration options for the driver. Details depend on the driver used. Default: not set",[14,1444,1445,1446,1448],{},"The options for the ",[18,1447,1428],{}," driver require connection details for an admin user on a Postgres instance e.g.",[1450,1451,1456],"pre",{"className":1452,"code":1454,"language":1455},[1453],"language-text","database:\n  user: root\n  password: password\n  host: localhost\n  port: 5432\n  database: postgres\n  ssl: false\n\n","text",[18,1457,1454],{"__ignoreMap":1458},"",[30,1460,1462],{"id":1461},"logging-configuration","Logging configuration",[14,1464,1465,1466,1469,1470],{},"By default the forge app is set to ",[18,1467,1468],{},"info"," level logging, with the HTTP routes logged at ",[18,1471,1472],{},"warn",[35,1474,1475,1483],{},[38,1476,1477],{},[41,1478,1479,1481],{},[44,1480,46],{},[44,1482,49],{},[51,1484,1485,1497,1509],{},[41,1486,1487,1492],{},[56,1488,1489],{},[18,1490,1491],{},"logging.level",[56,1493,1494,1495],{},"Change the default logging level. Default: ",[18,1496,1468],{},[41,1498,1499,1504],{},[56,1500,1501],{},[18,1502,1503],{},"logging.http",[56,1505,1506,1507],{},"Change the default HTTP route logging level. Default: ",[18,1508,1472],{},[41,1510,1511,1516],{},[56,1512,1513],{},[18,1514,1515],{},"logging.pretty",[56,1517,1518,1519,1521],{},"Enable\u002FDisable pretty-printing of the log output. Default: ",[18,1520,163],{}," - see below",[14,1523,1524,1525,1527,1528,1530],{},"Setting ",[18,1526,1503],{}," to ",[18,1529,1468],{}," will log every HTTP request and response details.",[14,1532,1533,1534,1537,1538,1541,1542,1545],{},"The ",[18,1535,1536],{},"pretty"," option controls the formatting of the log output. When running in developer\nmode, (for example, if ",[18,1539,1540],{},"NODE_ENV"," is set to ",[18,1543,1544],{},"developer","), then pretty formatting is enabled\nby default. This makes the logs more human-readable.",[14,1547,1548],{},"Otherwise, the log output is JSON formatted for consumption by other tools.",[30,1550,1552],{"id":1551},"file-storage","File storage",[14,1554,1555],{},"FlowFuse includes a service that can be used by Node-RED instances to read and write files\nin their flows as well as providing persistent storage for flow context information.",[14,1557,1558,1559,25],{},"Details of configuring the File Storage service are available ",[832,1560,835],{"href":1561},"\u002Fdocs\u002Finstall\u002Ffile-storage",[14,1563,1564,1565,1568],{},"The main ",[18,1566,1567],{},"flowforge.yml"," file needs to contain the following properties so it\ncan access the File server.",[35,1570,1571,1579],{},[38,1572,1573],{},[41,1574,1575,1577],{},[44,1576,46],{},[44,1578,49],{},[51,1580,1581],{},[41,1582,1583,1588],{},[56,1584,1585],{},[18,1586,1587],{},"fileStore.url",[56,1589,1590],{},"The URL of the FlowFuse File Server to use. Default: not set",[30,1592,1594],{"id":1593},"enabling-persistent-file-storage-file-nodes","Enabling Persistent File Storage - File Nodes",[14,1596,1597],{},"These nodes are enabled by default on the FlowFuse Cloud platform. If you're\nrunning a self-hosted environment you should follow the next steps.",[14,1599,1600],{},"FlowFuse file nodes replace the core Node-RED file nodes. To make use of these\nnodes, the FlowFuse platform Administrator must ensure the core file nodes are\nnot loaded.",[14,1602,1603,1604,1607,1608,1611,1612,1615],{},"This is done by adding ",[18,1605,1606],{},"10-file.js"," in the ",[907,1609,1610],{},"Exclude nodes by filename","\nsection of your instance settings under the ",[907,1613,1614],{},"Palette"," section.",[14,1617,1618,1619,1623],{},"This setting is modifiable only by a Team owner and only if it has not been\nlocked in the ",[832,1620,1622],{"href":1621},"\u002Fdocs\u002Fuser\u002Fconcepts#template","template"," by the platform Administrator.",[14,1625,1626,1630],{},[832,1627,1629],{"href":1628},"\u002Fdocs\u002Fuser\u002Ffilenodes","Click here",", to learn more about the usage of the FlowFuse File Nodes.",[30,1632,1634],{"id":1633},"content-security-policy","Content Security Policy",[35,1636,1637,1645],{},[38,1638,1639],{},[41,1640,1641,1643],{},[44,1642,46],{},[44,1644,49],{},[51,1646,1647,1663,1677,1689],{},[41,1648,1649,1654],{},[56,1650,1651],{},[18,1652,1653],{},"content_security_policy.enabled",[56,1655,1656,1657,1660,1661],{},"Enabled ",[18,1658,1659],{},"Content-Security-Policy"," headers. Default: ",[18,1662,163],{},[41,1664,1665,1670],{},[56,1666,1667],{},[18,1668,1669],{},"content_security_policy.directives",[56,1671,1672,1673],{},"Overrides the default set of directives, supplied as a JSON object defined by HelmetJS ",[832,1674,835],{"href":1675,"rel":1676},"https:\u002F\u002Fhelmetjs.github.io\u002F#content-security-policy",[921],[41,1678,1679,1684],{},[56,1680,1681],{},[18,1682,1683],{},"content_security_policy.report_only",[56,1685,1686,1687],{},"Enables reporting only mode. Default: ",[18,1688,163],{},[41,1690,1691,1696],{},[56,1692,1693],{},[18,1694,1695],{},"content_security_policy.report_uri",[56,1697,1698],{},"Provides at URI for reporting to be sent to if enabled",[30,1700,1702],{"id":1701},"npm-registry","NPM Registry",[14,1704,1705],{},"These settings enable per team Node-RED private catalogue generation",[35,1707,1708,1716],{},[38,1709,1710],{},[41,1711,1712,1714],{},[44,1713,46],{},[44,1715,49],{},[51,1717,1718,1730,1740,1750],{},[41,1719,1720,1725],{},[56,1721,1722],{},[18,1723,1724],{},"npmRegistry.enabled",[56,1726,1727,1728],{},"Enables NPM Registry support. Default: ",[18,1729,163],{},[41,1731,1732,1737],{},[56,1733,1734],{},[18,1735,1736],{},"npmRegistry.url",[56,1738,1739],{},"The URL for the Verdaccio NPM Registry. Default: none",[41,1741,1742,1747],{},[56,1743,1744],{},[18,1745,1746],{},"npmRegistry.admin.username",[56,1748,1749],{},"Username for Verdaccio admin user",[41,1751,1752,1757],{},[56,1753,1754],{},[18,1755,1756],{},"npmRegistry.admin.password",[56,1758,1759],{},"Password for Verdaccio admin user",[30,1761,1763],{"id":1762},"blueprint-updates","BluePrint Updates",[14,1765,1766],{},"For Licenses instances these options control how new BluePrints are imported",[14,1768,1769,1772,1773,1775,1778,1779,1781,1784,1785],{},[18,1770,1771],{},"blueprintImport.enabled"," | Enables the import of new BluePrints from FlowFuse. Default: ",[18,1774,159],{},[18,1776,1777],{},"blueprintImport.export"," | Enables the API endpoint to export the local BluePrints. Default: ",[18,1780,163],{},[18,1782,1783],{},"blueprintImport.url"," | The URL to import BluePrints from. Default: ",[18,1786,1787],{},"https:\u002F\u002Fapp.flowfuse.com\u002Fapi\u002Fv1\u002Fflow-blueprints\u002Fexport-public",{"title":1458,"searchDepth":1789,"depth":1789,"links":1790},4,[1791,1793,1798,1803,1804,1807,1808,1809,1810,1811,1812,1813,1814,1815,1816,1817,1818,1819],{"id":32,"depth":1792,"text":33},2,{"id":233,"depth":1792,"text":234,"children":1794},[1795,1797],{"id":272,"depth":1796,"text":273},3,{"id":305,"depth":1796,"text":306},{"id":378,"depth":1792,"text":379,"children":1799},[1800,1801,1802],{"id":410,"depth":1796,"text":411},{"id":475,"depth":1796,"text":476},{"id":524,"depth":1796,"text":525},{"id":649,"depth":1792,"text":650},{"id":700,"depth":1792,"text":701,"children":1805},[1806],{"id":839,"depth":1796,"text":840},{"id":897,"depth":1792,"text":898},{"id":1062,"depth":1792,"text":1063},{"id":1166,"depth":1792,"text":1167},{"id":1215,"depth":1792,"text":1216},{"id":1269,"depth":1792,"text":650},{"id":1359,"depth":1792,"text":1360},{"id":1390,"depth":1792,"text":1391},{"id":1461,"depth":1792,"text":1462},{"id":1551,"depth":1792,"text":1552},{"id":1593,"depth":1792,"text":1594},{"id":1633,"depth":1792,"text":1634},{"id":1701,"depth":1792,"text":1702},{"id":1762,"depth":1792,"text":1763},"The base configuration of the FlowFuse platform is provided in the file\n\u002Fopt\u002Fflowforge\u002Fetc\u002Fflowforge.yml. This assumes the default install location\nof \u002Fopt\u002Fflowforge.","md",null,{},true,"install\u002Fconfiguration.md","\u002Fdocs\u002Finstall\u002Fconfiguration",{"title":5,"description":1820},"docs\u002Finstall\u002Fconfiguration","2026-08-13 11:47:53 +0200","2.33.2","J2gksxMt75E9H5puxhKMUZremhaTMqkj_v5XSBu9ncM",{"id":1833,"extension":931,"meta":1834,"sections":1835,"stem":2223,"__hash__":2224},"featureCatalog\u002Ffeature-catalog.yml",{},[1836,1886,1987,2049,2126,2205],{"id":1837,"title":1838,"features":1839},"ai-automation","AI & Automation",[1840,1849,1859,1869,1875,1881],{"id":1841,"title":1842,"description":1843,"docsLink":1310,"changelog":1844,"tiers":1848},"flowfuse-expert-ai","FlowFuse Expert AI","Build industrial apps with agents, and query the state of the factory with an agent. Adapt your current hardware and machines so agentic work can be done against them, without ripping and replacing what's already on the plant floor.",[1845],{"url":1846,"release":1847},"\u002Fchangelog\u002F2026\u002F02\u002Fff-expert-update-banner\u002F","2.28",{"edge":1824,"hub":1824,"fleet":1824},{"id":1850,"title":1851,"description":1852,"docsLink":1853,"changelog":1854,"subfeature":1824,"showOnPricing":1857,"tiers":1858},"flowfuse-expert-support-mode","Support Mode","Chat-based assistance for FlowFuse and Node-RED, including Node-RED instance management through natural language.","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F#support-mode",[1855],{"url":1856,"release":1847},"\u002Fchangelog\u002F2026\u002F02\u002Fff-expert-debug-log-context\u002F",false,{"edge":1824,"hub":1824,"fleet":1824},{"id":1860,"title":1861,"description":1862,"docsLink":1863,"changelog":1864,"subfeature":1824,"showOnPricing":1857,"tiers":1868},"flowfuse-expert-application-building","Application Building","Describe what you want to build and FlowFuse Expert assembles it on your workspace, adding tabs, wiring nodes, and configuring properties.","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F",[1865],{"url":1866,"release":1867},"\u002Fchangelog\u002F2026\u002F05\u002Fexpert-application-building\u002F","2.30",{"edge":1824,"hub":1824,"fleet":1824},{"id":1870,"title":1871,"description":1872,"docsLink":1873,"subfeature":1824,"beta":1824,"showOnPricing":1857,"tiers":1874},"flowfuse-expert-insights-mode","Insights Mode","Connects FlowFuse Expert to MCP servers in your Node-RED instances, enabling real-time data queries and actions through a single chat interface.","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat\u002F#insights-mode",{"edge":1824,"hub":1824,"fleet":1824},{"id":1876,"title":1877,"description":1878,"docsLink":1879,"tiers":1880},"mcp-servers","Agentic Operations","Expose your Node-RED flows as tools an AI agent can call directly, so agents can query the state of the factory or trigger actions without custom integration work.","\u002Fnode-red\u002Fflowfuse\u002Fmcp\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1882,"title":1883,"description":1884,"tiers":1885},"onnx-integration","ONNX Integration","Run trained machine learning models directly in your flows, including on edge hardware, without sending data out to an external inference service.",{"edge":1824,"hub":1824,"fleet":1824},{"id":1887,"title":1888,"features":1889},"build","Build",[1890,1896,1902,1912,1918,1924,1928,1934,1940,1948,1954,1958,1962,1971,1979],{"id":1891,"title":1892,"description":1893,"docsLink":1894,"tiers":1895},"edge-development","Edge Development","Develop and test Node-RED flows directly on edge devices with a remote editor proxy.","\u002Fdocs\u002Fdevice-agent\u002Fquickstart\u002F",{"edge":1824,"hub":1857,"fleet":1824},{"id":1897,"title":1898,"description":1899,"docsLink":1900,"tiers":1901},"private-npm-registry","Custom Node-RED Nodes","Create and manage your own private npm registry for Node-RED nodes, so you can share custom nodes across your team and devices without publishing them publicly.","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1903,"title":1904,"description":1905,"docsLink":1906,"changelog":1907,"tiers":1911},"flowfuse-tables","FlowFuse Tables","A managed PostgreSQL database for every application, so you can store and query structured data without standing up and maintaining your own database.","\u002Fdocs\u002Fuser\u002Fff-tables\u002F",[1908],{"url":1909,"release":1910},"\u002Fchangelog\u002F2026\u002F07\u002Fexpert-tables-automation\u002F","2.33",{"edge":1824,"hub":1824,"fleet":1824},{"id":1913,"title":1914,"description":1915,"docsLink":1916,"tiers":1917},"persistent-files","File Storage","Store and retrieve files from your Node-RED flows, with automatic replication and backup across your devices and hosted instances.","\u002Fdocs\u002Finstall\u002Ffile-storage\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1919,"title":1920,"description":1921,"docsLink":1922,"showOnPricing":1857,"tiers":1923},"persistent-context","Persistent Context","In-memory values defined in a Node-RED flow persist across project restarts and upgrades.","\u002Fdocs\u002Fuser\u002Fpersistent-context\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1925,"title":1926,"showOnPricing":1857,"tiers":1927},"static-assets","Static Assets",{"edge":1824,"hub":1824,"fleet":1824},{"id":1929,"title":1930,"description":1931,"docsLink":1932,"tiers":1933},"team-library","Team Library","Set up standard nodes and flows that can be shared with all team members across your organisation.","\u002Fdocs\u002Fuser\u002Fshared-library\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1935,"title":1936,"description":1937,"docsLink":1938,"tiers":1939},"personalised-multi-user-dashboards","Personalised Multi-User Dashboards","Build applications that provide unique data to each logged-in user using personalised multi-user dashboards.","https:\u002F\u002Fdashboard.flowfuse.com\u002Fuser\u002Fmulti-tenancy.html",{"edge":1824,"hub":1824,"fleet":1824},{"id":1941,"title":1942,"description":1943,"changelog":1944,"subfeature":1824,"showOnPricing":1857,"tiers":1947},"dashboards-view","Dashboards View","Browse and open every dashboard across your team from a dedicated Dashboards view, at both team and application level, without leaving FlowFuse.",[1945],{"url":1946,"release":1910},"\u002Fchangelog\u002F2026\u002F07\u002Fteam-and-application-dashboards\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1949,"title":1950,"description":1951,"docsLink":1952,"tiers":1953},"blueprints-converge","Blueprints","Ready-made starting points for your apps, from cross-team Converge templates to OT and IT specific blueprints.","\u002Fdocs\u002Fuser\u002Fconcepts\u002F#blueprint",{"edge":1824,"hub":1824,"fleet":1824},{"id":1955,"title":1956,"subfeature":1824,"showOnPricing":1857,"tiers":1957},"blueprints-ot-apps","Blueprints - OT APPS",{"edge":1824,"hub":1857,"fleet":1824},{"id":1959,"title":1960,"subfeature":1824,"showOnPricing":1857,"tiers":1961},"blueprints-it-apps","Blueprints - IT APPS",{"edge":1857,"hub":1824,"fleet":1857},{"id":1963,"title":1964,"description":1965,"changelog":1966,"showOnPricing":1857,"tiers":1970},"immersive-editor-snapshots","Snapshot Details in Immersive Editor","View and manage snapshot details directly inside the immersive editor without leaving your editing session.",[1967],{"url":1968,"release":1969},"\u002Fchangelog\u002F2026\u002F03\u002Fsnapshot-detail-modal-immersive-editor\u002F","2.29",{"edge":1824,"hub":1824,"fleet":1824},{"id":1972,"title":1973,"description":1974,"changelog":1975,"showOnPricing":1857,"tiers":1978},"immersive-editor-drawer","Customisable Immersive Editor Drawer","Pin, move, resize, or full-screen the immersive editor drawer. Your preferences are remembered between sessions.",[1976],{"url":1977,"release":1867},"\u002Fchangelog\u002F2026\u002F04\u002Fimmersive-editor-drawer\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1980,"title":1981,"description":1982,"changelog":1983,"showOnPricing":1857,"tiers":1986},"embedded-editor-tab-title","Embedded Editor Browser Tab Title","The browser tab title updates to reflect the active Node-RED canvas tab when working in the embedded editor.",[1984],{"url":1985,"release":1969},"\u002Fchangelog\u002F2026\u002F03\u002Fembedded-editor-tab-title\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":1988,"title":1989,"features":1990},"deploy","Deploy",[1991,1997,2006,2012,2018,2024,2030,2036,2041],{"id":1992,"title":1993,"description":1994,"docsLink":1995,"tiers":1996},"hosted-instances","Cloud Instances","Run Node-RED instances managed and hosted by FlowFuse.","\u002Fdocs\u002Fuser\u002Fintroduction\u002F#creating-a-node-red-instance",{"edge":1824,"hub":1824,"fleet":1824},{"id":1998,"title":1999,"description":2000,"docsLink":2001,"changelog":2002,"tiers":2005},"edge-devices","Edge Instances","Deploy and mange your Node-RED instances on edge PLCs and gateways, with full visibility and control from the cloud.","\u002Fdocs\u002Fdevice-agent\u002Fintroduction\u002F",[2003],{"url":2004,"release":1847},"\u002Fchangelog\u002F2026\u002F02\u002Fdevice-agent-nodejs-options\u002F",{"edge":1824,"hub":1857,"fleet":1824},{"id":2007,"title":2008,"description":2009,"docsLink":2010,"tiers":2011},"custom-hostnames","Custom Hostnames","Access your Node-RED application via your own domain name.","\u002Fdocs\u002Fuser\u002Fcustom-hostnames\u002F",{"edge":1857,"hub":1824,"fleet":1857},{"id":2013,"title":2014,"description":2015,"docsLink":2016,"tiers":2017},"mqtt-broker","MQTT Broker","Manage and create MQTT clients to transport data for efficient messaging and communication within your applications.","\u002Fdocs\u002Fuser\u002Fteambroker\u002F",{"edge":1824,"hub":1857,"fleet":1824},{"id":2019,"title":2020,"description":2021,"docsLink":2022,"showOnPricing":1857,"tiers":2023},"project-nodes","Project Nodes aka seamless project comms","FlowFuse Project Nodes enable the passing of data and messages between your Node-RED projects.","\u002Fdocs\u002Fuser\u002Fprojectnodes\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2025,"title":2026,"description":2027,"docsLink":2028,"tiers":2029},"devops-pipelines","DevOps Pipelines","Set up different environments for development, testing, and production Node-RED instances to support a full software delivery lifecycle.","\u002Fdocs\u002Fuser\u002Fdevops-pipelines\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2031,"title":2032,"description":2033,"docsLink":2034,"tiers":2035},"git-integration","Git Integration","Back up your flows to a remote Git repository through a DevOps Pipeline. Supports GitHub and Azure DevOps repositories.","\u002Fdocs\u002Fuser\u002Fdevops-pipelines\u002F#git-repository-stage",{"edge":1857,"hub":1824,"fleet":1857},{"id":2037,"title":2038,"description":2039,"docsLink":2034,"subfeature":1824,"showOnPricing":1857,"tiers":2040},"git-integration-github","GitHub","Push and pull snapshots to GitHub repositories through DevOps Pipeline Git Stages.",{"edge":1857,"hub":1824,"fleet":1857},{"id":2042,"title":2043,"description":2044,"docsLink":2034,"changelog":2045,"subfeature":1824,"showOnPricing":1857,"tiers":2048},"git-integration-azure","Azure DevOps","Push and pull snapshots to Azure DevOps repositories through DevOps Pipeline Git Stages.",[2046],{"url":2047,"release":1969},"\u002Fchangelog\u002F2026\u002F03\u002Fazure-dev-ops-gitops\u002F",{"edge":1857,"hub":1824,"fleet":1857},{"id":2050,"title":2051,"features":2052},"operate-maintain","Operate & Maintain",[2053,2059,2065,2070,2078,2082,2086,2091,2097,2103,2108,2114,2118,2122],{"id":2054,"title":2055,"description":2056,"docsLink":2057,"tiers":2058},"snapshots","Snapshots & Version History","Automatic snapshots on remote devices and hosted instances, plus a full version history timeline so you can roll back to any prior state.","\u002Fdocs\u002Fuser\u002Fsnapshots\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2060,"title":2061,"description":2062,"docsLink":2063,"subfeature":1824,"showOnPricing":1857,"tiers":2064},"auto-snapshot-remote","Auto Snapshot (Remote)","Automatically capture a snapshot every time a remote instance is deployed, so you always have a recoverable history of what was running on each device.","\u002Fdocs\u002Fuser\u002Fsnapshots\u002F#auto-snapshots",{"edge":1824,"hub":1824,"fleet":1824},{"id":2066,"title":2067,"description":2068,"docsLink":2063,"subfeature":1824,"showOnPricing":1857,"tiers":2069},"auto-snapshot-hosted","Auto Snapshot (Hosted)","Automatically capture a snapshot every time a hosted instance is deployed, so you always have a recoverable history of what was running.",{"edge":1824,"hub":1824,"fleet":1824},{"id":2071,"title":2072,"description":2073,"changelog":2074,"subfeature":1824,"showOnPricing":1857,"tiers":2077},"snapshot-comparison","Snapshot Comparison","Compare two snapshots side-by-side with a navigable diff view. Step through every changed, added, or deleted node and see property and code diffs.",[2075],{"url":2076,"release":1969},"\u002Fchangelog\u002F2026\u002F04\u002Fsnapshot-diff-viewer\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2079,"title":2080,"subfeature":1824,"showOnPricing":1857,"tiers":2081},"version-history-timeline","Version History Timeline",{"edge":1824,"hub":1824,"fleet":1824},{"id":2083,"title":2084,"tiers":2085},"unlimited-workflow-executions","Unlimited Workflow Executions",{"edge":1824,"hub":1824,"fleet":1824},{"id":2087,"title":2088,"description":2089,"tiers":2090},"device-fleet-updates","Device Fleet Updates","Connect to edge devices to quickly assess and update logic. Debug one device and roll out improvements to your fleet in minutes, securely without requiring full device access for your whole organisation.",{"edge":1824,"hub":1857,"fleet":1824},{"id":2092,"title":2093,"description":2094,"docsLink":2095,"tiers":2096},"device-group-management","Device Group Management","Logically group devices assigned to an application and integrate device groups into your DevOps Pipeline for coordinated fleet updates.","\u002Fdocs\u002Fuser\u002Fdevice-groups\u002F",{"edge":1824,"hub":1857,"fleet":1824},{"id":2098,"title":2099,"description":2100,"docsLink":2101,"tiers":2102},"high-availability","High Availability","Leverage horizontal scaling for reliable and scalable processing of your data through Node-RED.","\u002Fdocs\u002Fuser\u002Fhigh-availability\u002F",{"edge":1857,"hub":1824,"fleet":1857},{"id":2104,"title":2105,"description":2106,"tiers":2107},"performance-monitoring","Performance Monitoring & Alerts","Track CPU, memory, and event loop performance across your instances and devices, with email alerts when something needs your attention.",{"edge":1824,"hub":1824,"fleet":1824},{"id":2109,"title":2110,"description":2111,"docsLink":2112,"subfeature":1824,"showOnPricing":1857,"tiers":2113},"instance-monitoring","Instance Monitoring","Enable alerts to be sent via email when your Node-RED instances encounter issues.","\u002Fdocs\u002Fuser\u002Finstance-settings\u002F#alerts",{"edge":1824,"hub":1824,"fleet":1824},{"id":2115,"title":2116,"subfeature":1824,"showOnPricing":1857,"tiers":2117},"email-alerts","Email Alerts",{"edge":1824,"hub":1824,"fleet":1824},{"id":2119,"title":2120,"showOnPricing":1857,"tiers":2121},"api-debug-length-limit","API\u002FDebug Length Limit",{"edge":1824,"hub":1824,"fleet":1824},{"id":2123,"title":2124,"tiers":2125},"protected-instances","Protected Instances",{"edge":1857,"hub":1824,"fleet":1857},{"id":2127,"title":2128,"features":2129},"govern-secure","Govern and Secure",[2130,2139,2145,2151,2156,2162,2168,2174,2182,2188,2194,2200],{"id":2131,"title":2132,"description":2133,"docsLink":2134,"changelog":2135,"tiers":2138},"single-sign-on","Single Sign-On (SSO)","Configure FlowFuse to work with your own SSO provider, allowing users to access FlowFuse with a single set of login credentials.","\u002Fdocs\u002Fadmin\u002Fsso\u002F",[2136],{"url":2137,"release":1910},"\u002Fchangelog\u002F2026\u002F07\u002Fapplication-sso-groups\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2140,"title":2141,"description":2142,"docsLink":2143,"tiers":2144},"two-factor-authentication","Two-Factor Authentication","Two-factor authentication adds an extra layer of security to your FlowFuse account.","\u002Fdocs\u002Fuser\u002Fuser-settings\u002F#two-factor-authentication",{"edge":1824,"hub":1824,"fleet":1824},{"id":2146,"title":2147,"description":2148,"docsLink":2149,"tiers":2150},"certified-nodes-it","Certified Nodes - IT","IT certified node bundle includes: Redis, MQTT, HTTP Request, AI nodes (Gemini, Claude, ChatGPT, Ollama), MCP Server","\u002Fblog\u002F2025\u002F07\u002Fcertified-nodes-v2\u002F",{"edge":1857,"hub":1824,"fleet":1824},{"id":2152,"title":2153,"description":2154,"tiers":2155},"certified-nodes-ot","Certified OT Connections - OPC-UA, Modbus, etc.","OT certified node bundle includes: OPC-UA, Modbus TCP & RTU, RTSP, EtherNet\u002FIP, AI nodes (Gemini, Claude, ChatGPT, Ollama), MCP Server",{"edge":1824,"hub":1857,"fleet":1857},{"id":2157,"title":2158,"description":2159,"docsLink":2160,"tiers":2161},"audit-log","Audit Log","Keep track of everything going on in your Node-RED instances and FlowFuse. Audit Logs provide details on what actions have taken place, when they happened, and who did them.","\u002Fdocs\u002Fuser\u002Flogs\u002F#audit-log",{"edge":1824,"hub":1824,"fleet":1824},{"id":2163,"title":2164,"description":2165,"docsLink":2166,"tiers":2167},"role-based-access-control","Role-Based Access Control","Control who can do what at both the team and application level, from viewers to admins.","\u002Fdocs\u002Fuser\u002Frole-based-access-control\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2169,"title":2170,"description":2171,"docsLink":2172,"subfeature":1824,"showOnPricing":1857,"tiers":2173},"application-level-rbac","Application-Level RBAC","Fine-grained access control per application, allowing team members to have different permission levels across different applications without requiring separate teams.","\u002Fdocs\u002Fuser\u002Frole-based-access-control\u002F#application-level-rbac",{"edge":1824,"hub":1824,"fleet":1824},{"id":2175,"title":2176,"description":2177,"changelog":2178,"subfeature":1824,"showOnPricing":1857,"tiers":2181},"scoped-personal-access-tokens","Scoped Personal Access Tokens","Restrict a Personal Access Token to specific teams, limit it to read-only operations, or control whether it carries admin privileges.",[2179],{"url":2180,"release":1910},"\u002Fchangelog\u002F2026\u002F07\u002Fscoped-pats\u002F",{"edge":1824,"hub":1824,"fleet":1824},{"id":2183,"title":2184,"description":2185,"docsLink":2186,"showOnPricing":1857,"tiers":2187},"team-members","Team Members","Invite multiple team members to collaborate on the same Node-RED flows.","\u002Fdocs\u002Fuser\u002Fteam\u002F#teams",{"edge":1824,"hub":1824,"fleet":1824},{"id":2189,"title":2190,"description":2191,"docsLink":2192,"showOnPricing":1857,"tiers":2193},"endpoint-security","Endpoint Security","Secure HTTP endpoints for hosted Node-RED instances using FlowFuse credentials.","\u002Fdocs\u002Fuser\u002Finstance-settings\u002F#security",{"edge":1824,"hub":1824,"fleet":1824},{"id":2195,"title":2196,"description":2197,"docsLink":2198,"tiers":2199},"baa-for-hipaa","BAA for HIPAA","FlowFuse can sign a Business Associate Agreement to ensure proper safeguarding of protected health information handled on your behalf.","\u002Fhandbook\u002Fsales\u002Fsubscription-agreement-1.5\u002F",{"edge":1857,"hub":1824,"fleet":1857},{"id":2201,"title":2202,"description":2203,"tiers":2204},"sbom","Software Bill of Materials","A complete list of all software components used in your Node-RED instances and hosted applications, including version numbers and license information.",{"edge":1857,"hub":1824,"fleet":1857},{"id":2206,"title":2207,"features":2208},"support","Support",[2209,2214,2218],{"id":2210,"title":2211,"docsLink":2212,"tiers":2213},"installation-support","Installation Support","\u002Fdocs\u002Finstall\u002Fintroduction\u002F#do-you-need-help-installation-service",{"edge":1824,"hub":1824,"fleet":1824},{"id":2215,"title":2216,"showOnPricing":1857,"tiers":2217},"live-chat-support","Live Chat Support",{"edge":1824,"hub":1824,"fleet":1824},{"id":2219,"title":2220,"docsLink":2221,"tiers":2222},"enterprise-support","Enterprise Support","\u002Fdocs\u002Fpremium-support\u002F",{"edge":1824,"hub":1824,"fleet":1824},"feature-catalog","0AnkhTIPCECCwP9NmbTWP5HvRYx4FTSao4lG93-HaWM",[2226,2234,2253,2264],{"name":2227,"order":2228,"children":2229},"FlowFuse User Manuals",1,[2230],{"title":2231,"path":2232,"group":2227,"groupOrder":2228,"order":1792,"children":2233},"FlowFuse API","\u002Fdocs\u002Fapi",[],{"name":2235,"order":1789,"children":2236},"FlowFuse Self-Hosted",[2237,2241],{"title":2238,"path":2239,"group":2235,"groupOrder":1789,"order":2228,"children":2240},"Quick Start","\u002Fdocs\u002Fquick-start",[],{"title":2242,"path":2243,"group":2235,"groupOrder":1789,"order":1796,"children":2244},"Upgrading FlowFuse","\u002Fdocs\u002Fupgrade",[2245,2249],{"title":2246,"path":2247,"order":1822,"children":2248},"Installing a license","\u002Fdocs\u002Fupgrade\u002Fopen-source-to-premium",[],{"title":2250,"path":2251,"order":1822,"children":2252},"Upgrading the Node-RED version","\u002Fdocs\u002Fupgrade\u002Fnodered-version",[],{"name":2207,"order":2254,"children":2255},5,[2256,2260],{"title":2257,"path":2258,"group":2207,"groupOrder":2254,"order":1796,"children":2259},"Premium Support","\u002Fdocs\u002Fpremium-support",[],{"title":2261,"path":2262,"group":2207,"groupOrder":2254,"order":1822,"children":2263},"Debugging Node-RED issues","\u002Fdocs\u002Fdebugging",[],{"name":2265,"order":1822,"children":2266},"Other",[2267,2314,2326,2404,2453,2472,2541,2552],{"title":2268,"path":2269,"order":1822,"children":2270},"admin","\u002Fdocs\u002Fadmin",[2271,2275,2287,2295,2299,2303,2307,2310],{"title":2272,"path":2273,"order":2228,"children":2274},"Administering FlowFuse","\u002Fdocs\u002Fadmin\u002Fintroduction",[],{"title":2276,"path":2277,"order":1822,"children":2278},"Configuring Single Sign-On (SSO)","\u002Fdocs\u002Fadmin\u002Fsso",[2279,2283],{"title":2280,"path":2281,"order":1822,"children":2282},"LDAP SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fldap",[],{"title":2284,"path":2285,"order":1822,"children":2286},"SAML SSO","\u002Fdocs\u002Fadmin\u002Fsso\u002Fsaml",[],{"title":2288,"path":2289,"order":1822,"children":2290},"hardening","\u002Fdocs\u002Fadmin\u002Fhardening",[2291],{"title":2292,"path":2293,"order":1822,"children":2294},"Kubernetes Hardening","\u002Fdocs\u002Fadmin\u002Fhardening\u002Fkubernetes",[],{"title":2296,"path":2297,"order":1822,"children":2298},"Monitoring","\u002Fdocs\u002Fadmin\u002Fmonitoring",[],{"title":2300,"path":2301,"order":1822,"children":2302},"Observability","\u002Fdocs\u002Fadmin\u002Fobservability",[],{"title":2304,"path":2305,"order":1822,"children":2306},"Soft Launch Enablement","\u002Fdocs\u002Fadmin\u002Ffeature-flags",[],{"title":2308,"path":953,"order":1822,"children":2309},"Telemetry",[],{"title":2311,"path":2312,"order":1822,"children":2313},"User Management","\u002Fdocs\u002Fadmin\u002Fuser-management",[],{"title":2315,"path":2316,"order":1822,"children":2317},"cloud","\u002Fdocs\u002Fcloud",[2318,2322],{"title":2319,"path":2320,"order":2228,"children":2321},"Introduction","\u002Fdocs\u002Fcloud\u002Fintroduction",[],{"title":2323,"path":2324,"order":1822,"children":2325},"FlowFuse Cloud Billing","\u002Fdocs\u002Fcloud\u002Fbilling",[],{"title":2327,"path":2328,"order":1822,"children":2329},"contribute","\u002Fdocs\u002Fcontribute",[2330,2333,2337,2341,2345,2349,2353,2361,2397,2400],{"title":2319,"path":2331,"order":2228,"children":2332},"\u002Fdocs\u002Fcontribute\u002Fintroduction",[],{"title":2334,"path":2335,"order":1822,"children":2336},"Adding Template Settings","\u002Fdocs\u002Fcontribute\u002Fadding-template-settings",[],{"title":2338,"path":2339,"order":1822,"children":2340},"API Design","\u002Fdocs\u002Fcontribute\u002Fapi-design",[],{"title":2342,"path":2343,"order":1822,"children":2344},"Creating debug stack containers","\u002Fdocs\u002Fcontribute\u002Fcreating-debug-stack-containers",[],{"title":2346,"path":2347,"order":1822,"children":2348},"Database migrations","\u002Fdocs\u002Fcontribute\u002Fdb-migrations",[],{"title":2350,"path":2351,"order":1822,"children":2352},"FlowFuse Architecture","\u002Fdocs\u002Fcontribute\u002Farchitecture",[],{"title":2354,"path":2355,"order":1822,"children":2356},"Local Install","\u002Fdocs\u002Fcontribute\u002Flocal",[2357],{"title":2358,"path":2359,"order":1822,"children":2360},"Local Stacks","\u002Fdocs\u002Fcontribute\u002Flocal\u002Fstacks",[],{"title":2362,"path":2363,"order":1822,"children":2364},"State Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows",[2365,2369,2373,2377,2381,2385,2389,2393],{"title":2366,"path":2367,"order":1822,"children":2368},"Device Editor","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fdevice-editor",[],{"title":2370,"path":2371,"order":1822,"children":2372},"Instance states","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-states",[],{"title":2374,"path":2375,"order":1822,"children":2376},"Invite External Users","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Finvite-external-user",[],{"title":2378,"path":2379,"order":1822,"children":2380},"Project Creation","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fproject-create",[],{"title":2382,"path":2383,"order":1822,"children":2384},"Reset Password Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fpassword-reset",[],{"title":2386,"path":2387,"order":1822,"children":2388},"Team creation Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fteam-create",[],{"title":2390,"path":2391,"order":1822,"children":2392},"User Login Flows","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Flogin",[],{"title":2394,"path":2395,"order":1822,"children":2396},"User Sign up Flow","\u002Fdocs\u002Fcontribute\u002Fworkflows\u002Fsignup",[],{"title":1307,"path":2398,"order":1822,"children":2399},"\u002Fdocs\u002Fcontribute\u002Fteam-broker",[],{"title":2401,"path":2402,"order":1822,"children":2403},"Working with Feature Flags","\u002Fdocs\u002Fcontribute\u002Ffeature-flags",[],{"title":2405,"path":2406,"order":1822,"children":2407},"device-agent","\u002Fdocs\u002Fdevice-agent",[2408,2412,2415,2419,2423,2428],{"title":2409,"path":2410,"order":2228,"children":2411},"FlowFuse Device Agent Introduction","\u002Fdocs\u002Fdevice-agent\u002Fintroduction",[],{"title":2238,"path":2413,"order":1792,"children":2414},"\u002Fdocs\u002Fdevice-agent\u002Fquickstart",[],{"title":2416,"path":2417,"order":1789,"children":2418},"Register your Remote Instance","\u002Fdocs\u002Fdevice-agent\u002Fregister",[],{"title":2420,"path":2421,"order":2254,"children":2422},"Running the Agent","\u002Fdocs\u002Fdevice-agent\u002Frunning",[],{"title":2424,"path":2425,"order":2426,"children":2427},"Deploying your Flows","\u002Fdocs\u002Fdevice-agent\u002Fdeploy",6,[],{"title":2429,"path":2430,"order":1822,"children":2431},"install","\u002Fdocs\u002Fdevice-agent\u002Finstall",[2432,2437,2441,2445,2449],{"title":2433,"path":2434,"group":2435,"order":2228,"children":2436},"Overview","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Foverview","DeviceAgentInstallation",[],{"title":2438,"path":2439,"group":2435,"order":1792,"children":2440},"Device Agent Installer","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdevice-agent-installer",[],{"title":2442,"path":2443,"group":2435,"order":1796,"children":2444},"Docker Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fdocker",[],{"title":2446,"path":2447,"group":2435,"order":1789,"children":2448},"Kubernetes Install","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fkubernetes",[],{"title":2450,"path":2451,"group":2435,"order":2254,"children":2452},"Manual Install with NPM","\u002Fdocs\u002Fdevice-agent\u002Finstall\u002Fmanual",[],{"title":2454,"path":2455,"order":1822,"children":2456},"hardware","\u002Fdocs\u002Fhardware",[2457,2460,2464,2468],{"title":2433,"path":2458,"order":2228,"children":2459},"\u002Fdocs\u002Fhardware\u002Fintroduction",[],{"title":2461,"path":2462,"order":1792,"children":2463},"ctrlX - Node-RED","\u002Fdocs\u002Fhardware\u002Fctrlx-node-red",[],{"title":2465,"path":2466,"order":1796,"children":2467},"ctrlX - Device Agent","\u002Fdocs\u002Fhardware\u002Fctrlx-device-agent",[],{"title":2469,"path":2470,"order":1796,"children":2471},"Raspberry Pi with Raspbian","\u002Fdocs\u002Fhardware\u002Fraspbian",[],{"title":2429,"path":2473,"order":1822,"children":2474},"\u002Fdocs\u002Finstall",[2475,2478,2480,2484,2504,2506,2510,2513],{"title":2433,"path":2476,"order":2228,"children":2477},"\u002Fdocs\u002Finstall\u002Fintroduction",[],{"title":5,"path":1826,"order":1822,"children":2479},[],{"title":2481,"path":2482,"order":1822,"children":2483},"DNS Setup","\u002Fdocs\u002Finstall\u002Fdns-setup",[],{"title":2485,"path":2486,"order":1822,"children":2487},"Docker install","\u002Fdocs\u002Finstall\u002Fdocker",[2488,2492,2496,2500],{"title":2489,"path":2490,"order":1822,"children":2491},"Add Project Stacks on Docker","\u002Fdocs\u002Finstall\u002Fdocker\u002Fstacks",[],{"title":2493,"path":2494,"order":1822,"children":2495},"Docker Engine on Windows","\u002Fdocs\u002Finstall\u002Fdocker\u002Fwindows-docker-ce",[],{"title":2497,"path":2498,"order":1822,"children":2499},"Docker from AWS Market Place","\u002Fdocs\u002Finstall\u002Fdocker\u002Faws-marketplace",[],{"title":2501,"path":2502,"order":1822,"children":2503},"Docker on Digital Ocean","\u002Fdocs\u002Finstall\u002Fdocker\u002Fdigital-ocean",[],{"title":701,"path":834,"order":1822,"children":2505},[],{"title":2507,"path":2508,"order":1822,"children":2509},"First Run Setup","\u002Fdocs\u002Finstall\u002Ffirst-run",[],{"title":2511,"path":1561,"order":1822,"children":2512},"FlowFuse File Storage",[],{"title":2514,"path":2515,"order":1822,"children":2516},"Install FlowFuse on Kubernetes","\u002Fdocs\u002Finstall\u002Fkubernetes",[2517,2521,2525,2529,2533,2537],{"title":2518,"path":2519,"order":1822,"children":2520},"AWS EKS Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws",[],{"title":2522,"path":2523,"order":1822,"children":2524},"AWS EKS Installation with Terraform and Helm","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Faws-terraform",[],{"title":2526,"path":2527,"order":1822,"children":2528},"Digital Ocean Kubernetes Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fdigital-ocean",[],{"title":2530,"path":2531,"order":1822,"children":2532},"Ingress Controller Migration","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fingress-controller-migration",[],{"title":2534,"path":2535,"order":1822,"children":2536},"Kubernetes Project Stacks","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fstacks",[],{"title":2538,"path":2539,"order":1822,"children":2540},"OpenShift Installation","\u002Fdocs\u002Finstall\u002Fkubernetes\u002Fopenshift",[],{"title":2542,"path":2543,"order":1822,"children":2544},"migration","\u002Fdocs\u002Fmigration",[2545,2548],{"title":2319,"path":2546,"order":2228,"children":2547},"\u002Fdocs\u002Fmigration\u002Fintroduction",[],{"title":2549,"path":2550,"order":1822,"children":2551},"Node-RED Tools plugin","\u002Fdocs\u002Fmigration\u002Fnode-red-tools",[],{"title":2553,"path":2554,"order":1822,"children":2555},"user","\u002Fdocs\u002Fuser",[2556,2560,2564,2568,2572,2577,2581,2584,2588,2592,2595,2599,2610,2613,2617,2621,2625,2628,2632,2636,2640,2644,2648,2651,2655,2659,2661,2665],{"title":2557,"path":2558,"order":2228,"children":2559},"Getting Started","\u002Fdocs\u002Fuser\u002Fintroduction",[],{"title":2561,"path":2562,"order":2228,"children":2563},"Static asset service","\u002Fdocs\u002Fuser\u002Fstatic-asset-service",[],{"title":2565,"path":2566,"order":1792,"children":2567},"Bill of Materials","\u002Fdocs\u002Fuser\u002Fbill-of-materials",[],{"title":2569,"path":2570,"order":1792,"children":2571},"FlowFuse Concepts","\u002Fdocs\u002Fuser\u002Fconcepts",[],{"title":2573,"path":2574,"order":2575,"children":2576},"Instance States","\u002Fdocs\u002Fuser\u002Finstance-states",10,[],{"title":2578,"path":2579,"order":1822,"children":2580},"Changing the Stack","\u002Fdocs\u002Fuser\u002Fchangestack",[],{"title":2008,"path":2582,"order":1822,"children":2583},"\u002Fdocs\u002Fuser\u002Fcustom-hostnames",[],{"title":2585,"path":2586,"order":1822,"children":2587},"Custom Node Packages","\u002Fdocs\u002Fuser\u002Fcustom-npm-packages",[],{"title":2589,"path":2590,"order":1822,"children":2591},"Dashboards","\u002Fdocs\u002Fuser\u002Fdashboards",[],{"title":2026,"path":2593,"order":1822,"children":2594},"\u002Fdocs\u002Fuser\u002Fdevops-pipelines",[],{"title":2596,"path":2597,"order":1822,"children":2598},"Environment Variables","\u002Fdocs\u002Fuser\u002Fenvvar",[],{"title":1311,"path":2600,"order":1822,"children":2601},"\u002Fdocs\u002Fuser\u002Fexpert",[2602,2606],{"title":2603,"path":2604,"order":1822,"children":2605},"AI in Node-RED","\u002Fdocs\u002Fuser\u002Fexpert\u002Fnode-red-embedded-ai",[],{"title":2607,"path":2608,"order":1822,"children":2609},"Chat Interface","\u002Fdocs\u002Fuser\u002Fexpert\u002Fchat",[],{"title":2611,"path":1628,"order":1822,"children":2612},"FlowFuse File Nodes",[],{"title":2614,"path":2615,"order":1822,"children":2616},"FlowFuse MQTT Nodes","\u002Fdocs\u002Fuser\u002Fmqtt-nodes",[],{"title":2618,"path":2619,"order":1822,"children":2620},"FlowFuse Persistent Context","\u002Fdocs\u002Fuser\u002Fpersistent-context",[],{"title":2622,"path":2623,"order":1822,"children":2624},"FlowFuse Project Nodes","\u002Fdocs\u002Fuser\u002Fprojectnodes",[],{"title":1904,"path":2626,"order":1822,"children":2627},"\u002Fdocs\u002Fuser\u002Fff-tables",[],{"title":2629,"path":2630,"order":1822,"children":2631},"Groups","\u002Fdocs\u002Fuser\u002Fdevice-groups",[],{"title":2633,"path":2634,"order":1822,"children":2635},"High Availability mode","\u002Fdocs\u002Fuser\u002Fhigh-availability",[],{"title":2637,"path":2638,"order":1822,"children":2639},"HTTP Access Tokens","\u002Fdocs\u002Fuser\u002Fhttp-access-tokens",[],{"title":2641,"path":2642,"order":1822,"children":2643},"Instance Settings","\u002Fdocs\u002Fuser\u002Finstance-settings",[],{"title":2645,"path":2646,"order":1822,"children":2647},"Logging","\u002Fdocs\u002Fuser\u002Flogs",[],{"title":2164,"path":2649,"order":1822,"children":2650},"\u002Fdocs\u002Fuser\u002Frole-based-access-control",[],{"title":2652,"path":2653,"order":1822,"children":2654},"Shared Team Library","\u002Fdocs\u002Fuser\u002Fshared-library",[],{"title":2656,"path":2657,"order":1822,"children":2658},"Snapshots","\u002Fdocs\u002Fuser\u002Fsnapshots",[],{"title":1307,"path":1306,"order":1822,"children":2660},[],{"title":2662,"path":2663,"order":1822,"children":2664},"Teams","\u002Fdocs\u002Fuser\u002Fteam",[],{"title":2666,"path":2667,"order":1822,"children":2668},"User Settings","\u002Fdocs\u002Fuser\u002Fuser-settings",[],1786717928591]