Deployment guide

Installing Node-RED on a VPS: self-hosted automation

Deploy on a VPS Cloud →

Tutorial

Installing Node-RED on a VPS: self-hosted automation

Automation4 min read6 steps

Node-RED is a visual, flow-based automation tool: you connect nodes (triggers, functions, APIs, databases) by drag-and-drop to orchestrate processing without writing a full application. Hosted on a VPS, it becomes a permanent automation engine for your APIs, webhooks and connected devices. Here is the complete deployment, secure and persistent.

Contents· Why self-host Node-RED on a VPS1/5
  1. 01Why self-host Node-RED on a VPS
  2. 02The concrete benefits of self-hosting
  3. 03Hardware and software prerequisites
  4. 04Step-by-step deployment
  5. 05Install it in one click from the ServOrbit Marketplace

Why self-host Node-RED on a VPS

Node-RED shines at quickly wiring up integrations: receive a webhook, transform a payload, call an API, write to a database, send a notification — all in a visual editor accessible from the browser. On a local workstation, these flows stop as soon as the machine is turned off. On a VPS, they run 24/7 with a fixed IP, which is essential for receiving incoming webhooks or polling APIs at regular intervals. The ecosystem of more than 4000 community nodes (the palette) covers MQTT, HTTP, databases, Telegram, MQTT IoT, and more. You keep your API keys and your business data on your own server, without depending on a third-party automation platform billed per task.

The concrete benefits of self-hosting

  • 24/7 availability with a fixed IP to receive incoming webhooks.
  • Visual flow-based editor: automations built without coding a whole app.
  • Palette of 4000+ nodes (MQTT, HTTP, SQL, Telegram, IoT) installable on the fly.
  • API keys and business data kept on your VPS, not at a third party.
  • No per-task billing or monthly execution quota.
  • Ideal for IoT: MQTT centralization and real-time sensor processing.

Hardware and software prerequisites

Node-RED is extremely lightweight (based on Node.js). A 1 vCPU / 1 GB RAM VPS is enough for simple flows; move to 2 vCPU / 2 GB RAM as soon as you multiply the flows, add a database or handle heavy MQTT traffic. Count on 5 to 10 GB of disk for the runtime, the palette modules and the logs. On the software side: Ubuntu 22.04, Docker (recommended to isolate and persist the data), a subdomain like flows.mydomain.com, and ideally an active ufw firewall. No GPU, it is pure orchestration.

Step-by-step deployment

  1. Prepare the VPS

    Via SSH, install Docker. Create a named volume to persist the flows and the configuration: docker volume create node_red_data. This volume guarantees that your automations survive container updates.

  2. Run the container

    Start the official image: docker run -d -p 1880:1880 -v node_red_data:/data --name nodered --restart unless-stopped nodered/node-red. The editor listens on port 1880.

  3. Secure the editor

    By default the editor is open. Enable authentication in settings.js (the adminAuth section) with a password hashed via node-red-admin hash-pw, and also protect the HTTP endpoints exposed by your flows (httpNodeAuth).

  4. Install the required nodes

    From the "Manage palette" menu, add the nodes you need (e.g. node-red-node-email, node-red-contrib-telegrambot). They install on the fly without restarting the server.

  5. Configure the reverse proxy and SSL

    Place Caddy or Nginx in front of port 1880 for flows.mydomain.com. Important: enable WebSocket support in the Nginx config (proxy_set_header Upgrade / Connection), otherwise the editor does not update in real time. Caddy handles it natively.

  6. Build a first flow

    Create a test flow: an http in node on /webhook, a function node that transforms the payload, then an http response node. Deploy with the "Deploy" button and test the URL https://flows.mydomain.com/webhook.

Version your flows with Node-RED's built-in "Projects" (enabled in settings.js) coupled with a Git repository: you get a history, branches and a clean rollback of your automations, exactly like code. For critical flows, add a global catch node that captures errors and sends an alert (email/Telegram): you will be warned of an API going down before the chain breaks silently.

Install it in one click from the ServOrbit Marketplace

Everything above can be done manually, and knowing how to do it is useful. If you prefer not to, Node-RED is available in the ServOrbit Marketplace and installs on your VPS in one click from the client area. The template deploys the official nodered/node-red:4 image, mounts a persistent volume on /data to keep your flows and configuration across restarts, and sets NODE_RED_CREDENTIAL_SECRET to encrypt your node credentials. The editor is accessible via an SSH tunnel (ssh -L 1880:127.0.0.1:1880 root@<vps-ip> then http://localhost:1880) or via a custom domain attached from the client area. Important: the editor enables no authentication by default — add adminAuth to /data/settings.js and restart the service before exposing the URL publicly.

Automate your workflows on a ServOrbit Cloud VPS

Deploy Node-RED on a Cloud VPS with preconfigured Docker, a persistent volume and a reverse proxy ready for WebSocket. Your automations run continuously, under your control.

Need help?

Browse our help center and FAQ, or reach our team — callback, WhatsApp or email. Support in French, English and Arabic.

Message us on WhatsAppopens in a new tab