Node-RED 2系をAzure Web Appsで使いたい
色々と調べてて動作したのがこちらのやりかたでした。
https://github.com/jmservera/node-red-azure-webapp
ただ、こちらはv1.0.6で固定されてたので2系にしようとしたらうまくデプロイできず。(まだ検証ちゃんとしてないけど)
Node-REDは最近2系にアップデートされて結構中身が変わってるので2系をなんとか使いたいところ。。。ということで調べてましたが@horihiroさんのリポジトリからうまくいけました。
ほりひログ 2018-12-09 (勝手に)続・Azure Web AppでNode-REDを動かす手順
終わってみると簡単にいけた2系のデプロイ
horihiro/node-red-webappのリポジトリからAzureにデプロイしていきます。
2系というか最新が入る模様ですね。
For Windowsの方のボタンで進めていきます。Linuxはまだ試してません。
リポジトリのURLとブランチを確認
https://github.com/horihiro/node-red-webapp.git
premerged
が今のところ良いっぽいです。
あとはそのままデプロイします。
動いた
アプリ名.azurewebsites.netにアクセスすると、最初はnot startedとか出る場合ありますが、サーバーが寝てたりすると発生します。
リロードするとサーバーが起きてるので管理画面が表示されます。
無事に2系!
パスワードをかけるなど
App Service Editorの画面からapp.jsの設定を編集できます。
app.jsのsettingsの部分がNode-REDの設定になります。
管理画面のパス変更
デフォだとhttpAdminRootが/になってますが、/kanrigamenなどにするとアプリ名.azurewebsites.net/kanrigamenにアクセスした際に管理画面が見れるようになります。
パスワード設定
adminAuthを設定するとログインユーザーやパスワードを設定できます。
これはNode-RED公式を参考にした方が良いかもしれません。
https://nodered.jp/docs/user-guide/runtime/securing-node-red
app.js
//省略
// Create the settings object - see default settings.js file for other options
var settings = {
httpAdminRoot:"/kanrigamen", //管理画面のパスを変更
httpNodeRoot: "/",
userDir:".",
flowFile: "flows_" + (process.env.WEBSITE_SITE_NAME || process.env.APPSETTINGS_WEBSITE_SITE_NAME ? process.env.WEBSITE_SITE_NAME || process.env.APPSETTINGS_WEBSITE_SITE_NAME : require('os').hostname()) + ".json",
functionGlobalContext: { }, // enables global context
// Securing Node-RED
// -----------------
// To password protect the Node-RED editor and admin API, the following
// property can be used. See http://nodered.org/docs/security.html for details.
adminAuth: {
type: "credentials",
users: [{
username: "admin",
password: "$2a$08$zZWtXTja0fB1pzD4sHCMyOCMYz2Z6dNbM6tl8sJogENOMcxWV9DN.",
permissions: "*"
}]
},
};
//省略
app.jsを編集したら挙動が怪しくなる時があるので再起動推奨です。
おわりに
@horihiroさんにDMで質問しながらうまく動かす事ができました、ありがとうございます!!
↧