Node-RED: 4. 创建服务

本文件是使用 CLI 实现自动化指南的一部分。您可以在这里查看完整指南:通过 Stackhero CLI 以编程方式启动 Node-RED、获取其凭证并更改其配置

欢迎查阅 Stackhero 文档

Stackhero 提供全托管的 Node-RED cloud 环境,助您快速构建工作流:

  • 内置 MQTT 服务器(Mosquitto),实现无缝 IoT 集成。
  • 完全访问 Node-RED 管理界面,便于管理流程和设置。
  • 包含 Node-RED Dashboard,支持实时可视化。
  • 提供 专用 SMTP 邮件服务器,发送邮件无任何限制。
  • 轻松实现 一键更新,让您的实例始终保持最新。
  • 支持 自定义域名,自动配置 HTTPS:例如,https://node-red.your-company.com
  • 性能 与强大 安全性,基于专属私有基础设施。

您只需约 5 分钟即可拥有安全、可用于生产环境的 Node-RED cloud hosting 实例。Stackhero 负责部署、更新和基础设施管理,让您专注于自动化流程的开发。

以下是一个示例脚本:创建一个 stack,将您的 Node-RED 服务添加到 stack,等待服务启动,获取其配置信息(包括自动生成的凭证),然后应用新的配置。

#!/bin/bash
set -e

export STACKHERO_TOKEN="usr-xxxxxx:your-token"

serviceStore="node-red"   # Node-RED 服务商店名称(见第 2 步)
instance="..."                # 第 3 步获取的实例规格
region="europe"               # 第 3 步获取的区域名称

# 为您的服务创建一个 stack(默认使用您的组织,如有需要可加 --organization)
stackId=$(stackhero --format=script stack-create \
  --name="My Node-RED stack")
echo "Stack created: ${stackId}"

# 将 Node-RED 添加到 stack(名称会自动解析)
serviceId=$(stackhero --format=script service-add \
  --stack="My Node-RED stack" \
  --service-store="${serviceStore}" \
  --instance="${instance}" \
  --region="${region}")
echo "Service added: node-red"

# 等待服务完全启动(可能需要几分钟)
stackhero service-wait-for --service="node-red"

# 获取服务配置,包括自动生成的凭证
stackhero service-configuration-get --service="node-red" --format=json