Skip to content

Sevenmojoe/nodered-heroku

Repository files navigation

nodered-heroku

A wrapper for deploying Node-RED into the Heroku.

Warning: Heroku doesn't automatically save flows, credentials and installed nodes

[TL,DR] Use the SAVE Inject node in the first flow (see step 5).

To overcome this, after having deployed the new flows, export All flows as flows.json file, and push it to the GitHub repo linked to Heroku. Do the same with flows_cred.json and package.json for credentials and nodes installed in Palette. Detail on step 5.

1. Deploying Node-RED to Heroku

Deploy

2. Set up GitHub repo and Heroku app

  • Fork this GitHub repo.
  • Set GitHub as deploy source on Heroku setting.
  • Enable Automatic Deployment, so that every time any file is pushed to GitHub repo, Heroku will rebuild Node-RED with updated files.

3. Password protect the flow editor

Set username and password for Node-RED Flow Editor:

  • NODE_RED_USERNAME - the username to secure the Flow Editor with
  • NODE_RED_PASSWORD - the password to secure the Flow Editor with

4. Access Node-Red on Cloud

5. Export all flows, credentials and installed nodes

Manual mode (original)

  • In Editor, to export flows.json, click hamburger icon (top right), click Export, choose tab "All flows", then Download.
  • To export all the other files, browse the /app folder, e.g., with this flow or the modified version, and download all files.
  • Push flows.json, flows_cred.json, package.json to GitHub, so that Node-RED is rebuilt with the latest files at Heroku restart.

Alternative mode (recommended)

  • Use the SAVE Inject node in the first flow to directly push all files to GitHub.

SAVE

Some included nodes

  • Dashboard UI - node-red-dashboard
  • MQTT - node-red-contrib-aedes
  • Blynk Cloud - node-red-contrib-blynk-ws
  • Email - node-red-node-email
  • Telegram - node-red-contrib-telegrambot-home
  • InfluxDB, MongoDB, Modbus, OPC UA, Netatmo, PostgresSQL, Wordmap, etc.