Node-RED + Docker Registry Docker Registry + BEAM/Erlang+ localhost:8080+ Erlang-Red+ Eshell

用 Docker 运行 Node-RED 的 Erlang 后端,浏览器编辑流程并保留 Eshell 调试

✓ 一条命令即可运行✓ 浏览器可视化编辑流程 ✕ 项目仍为 Experimental✕ 兼容性未达 100%

方案简介

Erlang-Red 是 Node-RED 的实验性 Erlang 后端,目标是替代 Node-RED 原有的 NodeJS 后端,并力求与现有 Node-RED 流程代码 100% 兼容。Node-RED 擅长用可视化数据流描述并发处理,但 NodeJS 是单线程的;Erlang/BEAM 从底层就是为消息传递与并发设计的,天然自带并发保证。本方案提供两种体验方式:在线直接访问 ered.fly.dev,或用 Docker 一条命令在本地运行——启动后浏览器打开 localhost:8080/erlang-red 即可使用可视化流程编辑器,同时控制台进入 Eshell 可观察流程执行。适合想用低代码可视化方式编写高并发流程、又不想直接书写 Erlang 代码的开发者。

实施步骤

1. 在线试用(可选)

直接访问 ered.fly.dev/node-red 即可在云端体验 Erlang-Red。

2. Docker 本地启动

bash
docker run --interactive --tty --publish 8080:8080 gorenje/erlang-red:0.4.0

3. 打开编辑器

容器启动后,Erlang-Red web listener 监听在 localhost:8080/erlang-red,浏览器打开该地址即可像使用 Node-RED 一样编辑与部署流程,同时终端中已进入 Eshell。

使用与配置要点

  • 启动后访问 http://localhost:8080/erlang-red 使用可视化编辑器
  • 终端中观察 Eshell 输出了解流程执行
  • 官方提供两段 screencast:一段演示用 Docker 镜像启动并运行测试,一段演示如何用 Erlang-Red breadboard Diameter 协议
  • 可导入公开的 flow 示例(如 HTTP API 后端、supervisor、状态机单元测试、MQTT broker 等 flows)进行学习与验证

注意事项与常见问题

  • 项目定位为 Experimental,兼容 100% 现有 Node-RED 流程代码仍是目标而非承诺
  • README 中的 Raspberry Pi 4 实验并非真正的嵌入式:Erlang-Red 实际是运行在树莓派 debian 系统的 docker 容器里
  • 镜像版本以 0.4.0 为例,运行参数 --interactive --tty 用于保留交互式 Eshell

优缺点

  • ✓ 一条命令即可运行
  • ✓ 浏览器可视化编辑流程
  • ✕ 项目仍为 Experimental
  • ✕ 兼容性未达 100%

出处

本方案挖掘自开源项目 gorenje/erlang-red,方案内容与实施命令均来自其 README 原文。

方案出处
gorenje/erlang-red:Erlang interpreter for Node-RED (visual flow based programming) with Elixir supp
335 star Erlang interpreter for Node-RED (visual flow based programming) with Elixir support

本方案由真实开源项目挖掘整理,实施命令均来自其 README 原文,安装使用请遵循项目开源协议。