用 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 原文,安装使用请遵循项目开源协议。