[{"data":1,"prerenderedAt":422},["ShallowReactive",2],{"node-red-\u002Fnode-red\u002Fgetting-started\u002Fnode-red-port":3},{"id":4,"title":5,"body":6,"description":414,"extension":415,"meta":416,"navigation":417,"path":418,"seo":419,"stem":420,"__hash__":421},"nodeRed\u002Fnode-red\u002Fgetting-started\u002Fnode-red-port.md","Node-RED Port (localhost:1880)",{"type":7,"value":8,"toc":398},"minimark",[9,17,31,36,39,44,51,75,82,86,101,130,133,137,143,147,153,238,241,256,259,268,272,275,309,312,316,319,347,351,354,357,360,363,372,376,380,383,391,394],[10,11,13],"h1",{"id":12},"",[14,15],"binding",{"value":16},"meta.title",[18,19,20,21,25,26,30],"p",{},"Node-RED runs on ",[22,23,24],"strong",{},"port 1880"," by default. This is the network port where Node-RED listens for connections. When you start Node-RED, you access the editor by opening ",[27,28,29],"code",{},"http:\u002F\u002Flocalhost:1880"," in your browser. All your HTTP endpoints and the Node-RED interface are served through this port.",[32,33,35],"h2",{"id":34},"changing-the-default-port","Changing the Default Port",[18,37,38],{},"There are times when you need to change the default port - perhaps 1880 is already in use by another application, or you're running multiple Node-RED instances, or you simply prefer a different port number.",[40,41,43],"h3",{"id":42},"temporary-port-change","Temporary Port Change",[18,45,46,47,50],{},"For a one-time port change, start Node-RED with the ",[27,48,49],{},"--port"," flag:",[52,53,57],"pre",{"className":54,"code":55,"language":56,"meta":12,"style":12},"language-bash shiki shiki-themes github-light github-dark","node-red --port 8080\n","bash",[27,58,59],{"__ignoreMap":12},[60,61,64,68,72],"span",{"class":62,"line":63},"line",1,[60,65,67],{"class":66},"sScJk","node-red",[60,69,71],{"class":70},"sj4cs"," --port",[60,73,74],{"class":70}," 8080\n",[18,76,77,78,81],{},"Now access Node-RED at ",[27,79,80],{},"http:\u002F\u002Flocalhost:8080",". This change only lasts for the current session.",[40,83,85],{"id":84},"permanent-port-change","Permanent Port Change",[18,87,88,89,92,93,96,97,100],{},"To make the port change permanent, edit your Node-RED settings file (",[27,90,91],{},"settings.js",") located in the Node-RED user directory (commonly ",[27,94,95],{},"~\u002F.node-red\u002Fsettings.js"," on Linux\u002FmacOS; on Windows it’s typically under your user profile at ",[27,98,99],{},".node-red\\settings.js",").",[52,102,106],{"className":103,"code":104,"language":105,"meta":12,"style":12},"language-javascript shiki shiki-themes github-light github-dark","uiPort: process.env.PORT || 8080,\n","javascript",[27,107,108],{"__ignoreMap":12},[60,109,110,113,117,120,124,127],{"class":62,"line":63},[60,111,112],{"class":66},"uiPort",[60,114,116],{"class":115},"sVt8B",": process.env.",[60,118,119],{"class":70},"PORT",[60,121,123],{"class":122},"szBVR"," ||",[60,125,126],{"class":70}," 8080",[60,128,129],{"class":115},",\n",[18,131,132],{},"Save the file and restart Node-RED. The new port setting will persist across all future sessions.",[32,134,136],{"id":135},"securing-your-node-red-installation","Securing Your Node-RED Installation",[18,138,139,142],{},[22,140,141],{},"Critical Security Note:"," By default, Node-RED has no authentication or authorization. Anyone with network access to this port can view and modify your flows, access your data, and control your connected devices. Always secure Node-RED before exposing it to any network beyond your local development machine.",[40,144,146],{"id":145},"enable-authentication","Enable Authentication",[18,148,149,150,152],{},"Add user authentication by editing your ",[27,151,91],{}," file:",[52,154,156],{"className":103,"code":155,"language":105,"meta":12,"style":12},"adminAuth: {\n    type: \"credentials\",\n    users: [{\n        username: \"admin\",\n        password: \"$2b$08$...\",  \u002F\u002F Generate with: node-red admin hash-pw\n        permissions: \"*\"\n    }]\n}\n",[27,157,158,166,181,190,201,217,226,232],{"__ignoreMap":12},[60,159,160,163],{"class":62,"line":63},[60,161,162],{"class":66},"adminAuth",[60,164,165],{"class":115},": {\n",[60,167,169,172,175,179],{"class":62,"line":168},2,[60,170,171],{"class":66},"    type",[60,173,174],{"class":115},": ",[60,176,178],{"class":177},"sZZnC","\"credentials\"",[60,180,129],{"class":115},[60,182,184,187],{"class":62,"line":183},3,[60,185,186],{"class":66},"    users",[60,188,189],{"class":115},": [{\n",[60,191,193,196,199],{"class":62,"line":192},4,[60,194,195],{"class":115},"        username: ",[60,197,198],{"class":177},"\"admin\"",[60,200,129],{"class":115},[60,202,204,207,210,213],{"class":62,"line":203},5,[60,205,206],{"class":115},"        password: ",[60,208,209],{"class":177},"\"$2b$08$...\"",[60,211,212],{"class":115},",  ",[60,214,216],{"class":215},"sJ8bj","\u002F\u002F Generate with: node-red admin hash-pw\n",[60,218,220,223],{"class":62,"line":219},6,[60,221,222],{"class":115},"        permissions: ",[60,224,225],{"class":177},"\"*\"\n",[60,227,229],{"class":62,"line":228},7,[60,230,231],{"class":115},"    }]\n",[60,233,235],{"class":62,"line":234},8,[60,236,237],{"class":115},"}\n",[18,239,240],{},"Generate a secure password hash by running:",[52,242,244],{"className":54,"code":243,"language":56,"meta":12,"style":12},"node-red admin hash-pw\n",[27,245,246],{"__ignoreMap":12},[60,247,248,250,253],{"class":62,"line":63},[60,249,67],{"class":66},[60,251,252],{"class":177}," admin",[60,254,255],{"class":177}," hash-pw\n",[18,257,258],{},"Enter your desired password when prompted, then copy the generated hash into your settings file.",[260,261,262],"blockquote",{},[18,263,264,267],{},[22,265,266],{},"Note",": adminAuth secures the editor\u002Fadmin UI (and admin API), but it doesn’t protect http in endpoints by default.",[40,269,271],{"id":270},"firewall-protection","Firewall Protection",[18,273,274],{},"Restrict network access using a firewall. For Linux users, this example allows only devices on your local network (192.168.1.x) to access Node-RED:",[52,276,278],{"className":54,"code":277,"language":56,"meta":12,"style":12},"sudo ufw allow from 192.168.1.0\u002F24 to any port 1880\n",[27,279,280],{"__ignoreMap":12},[60,281,282,285,288,291,294,297,300,303,306],{"class":62,"line":63},[60,283,284],{"class":66},"sudo",[60,286,287],{"class":177}," ufw",[60,289,290],{"class":177}," allow",[60,292,293],{"class":177}," from",[60,295,296],{"class":177}," 192.168.1.0\u002F24",[60,298,299],{"class":177}," to",[60,301,302],{"class":177}," any",[60,304,305],{"class":177}," port",[60,307,308],{"class":70}," 1880\n",[18,310,311],{},"Adjust the IP range to match your network configuration.",[32,313,315],{"id":314},"accessing-node-red-remotely","Accessing Node-RED Remotely",[18,317,318],{},"When you want to access your Node-RED instance from outside your local network. The manual approach is complex and requires ongoing maintenance. You would need",[320,321,322,326,329,332,335,338,341,344],"ul",{},[323,324,325],"li",{},"Configure port forwarding on your router",[323,327,328],{},"Set up and maintain SSL\u002FTLS certificates for HTTPS",[323,330,331],{},"Configure proper authentication and authorization",[323,333,334],{},"Implement rate limiting and DDoS protection",[323,336,337],{},"Keep security patches up to date",[323,339,340],{},"Monitor suspicious access attempts",[323,342,343],{},"Manage firewall rules and security patches",[323,345,346],{},"And much more",[40,348,350],{"id":349},"the-easy-way","The Easy Way",[18,352,353],{},"FlowFuse makes Node-RED production-ready with secure remote access built in.",[18,355,356],{},"Access your instances from anywhere through HTTPS without router configuration or certificate management. The platform handles SSL certificates automatically, provides role-based access control, and maintains enterprise-grade security through encrypted communications and comprehensive audit logging.",[18,358,359],{},"Device Agents connect your Node-RED instances to FlowFuse, enabling secure remote access immediately after registration. Your team connects from any location while FlowFuse manages infrastructure, security updates, and system reliability.",[18,361,362],{},"Remote access works without port forwarding, certificate renewals, or manual security configuration. FlowFuse handles the complexity so you can focus on building flows.",[18,364,365,366,371],{},"Learn more about ",[367,368,370],"a",{"href":369},"\u002Fblog\u002F2025\u002F09\u002Finstalling-node-red\u002F","setting up FlowFuse for production Node-RED deployments",".",[32,373,375],{"id":374},"troubleshooting-port-issues","Troubleshooting Port Issues",[40,377,379],{"id":378},"port-already-in-use","Port Already in Use",[18,381,382],{},"If Node-RED fails to start with an error message like:",[52,384,389],{"className":385,"code":387,"language":388},[386],"language-text","Error: listen EADDRINUSE: address already in use :::1880\n","text",[27,390,387],{"__ignoreMap":12},[18,392,393],{},"This means another application is already using port 1880. Either stop the application that's using the port, or run Node-RED on a different port.",[395,396,397],"style",{},"html pre.shiki code .sScJk, html code.shiki .sScJk{--shiki-default:#6F42C1;--shiki-dark:#B392F0}html pre.shiki code .sj4cs, html code.shiki .sj4cs{--shiki-default:#005CC5;--shiki-dark:#79B8FF}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);}html pre.shiki code .sVt8B, html code.shiki .sVt8B{--shiki-default:#24292E;--shiki-dark:#E1E4E8}html pre.shiki code .szBVR, html code.shiki .szBVR{--shiki-default:#D73A49;--shiki-dark:#F97583}html pre.shiki code .sZZnC, html code.shiki .sZZnC{--shiki-default:#032F62;--shiki-dark:#9ECBFF}html pre.shiki code .sJ8bj, html code.shiki .sJ8bj{--shiki-default:#6A737D;--shiki-dark:#6A737D}",{"title":12,"searchDepth":168,"depth":168,"links":399},[400,404,408,411],{"id":34,"depth":168,"text":35,"children":401},[402,403],{"id":42,"depth":183,"text":43},{"id":84,"depth":183,"text":85},{"id":135,"depth":168,"text":136,"children":405},[406,407],{"id":145,"depth":183,"text":146},{"id":270,"depth":183,"text":271},{"id":314,"depth":168,"text":315,"children":409},[410],{"id":349,"depth":183,"text":350},{"id":374,"depth":168,"text":375,"children":412},[413],{"id":378,"depth":183,"text":379},"Learn how to configure Node-RED ports, change default settings, secure your installation, and set up remote access with FlowFuse.","md",{},true,"\u002Fnode-red\u002Fgetting-started\u002Fnode-red-port",{"title":5,"description":414},"node-red\u002Fgetting-started\u002Fnode-red-port","hlPeOxJfOWQC84FB9do2tMJ9CCulq7azKe3DAabSgwE",1780070557239]