ngrokサービスのデーモン化 – 猫ちゃん観察システム
無料の常時接続ツールの一つにngrokというサービスがあり現在テスト運用中。
これを導入すると外部から家庭内のネットワークへssh http webdavなどを使って固定IPアドレスがなくても利用可能になる。既にRaspberryPiに導入しているmotion(=動体検知してその画像をキャプチャーしファイルとして格納する無償ツール)で保存した画像ファイルの閲覧が外出時にもブラウザー経由で可能になっている。
ngrokの起動はHDMI接続できるモニターがないため、ウィンドウズパソコンやLinuxサーバからssh接続して行っている。これはそのssh接続を停止すると(つまりパソコンやLinux機の電源をオフにすると)ngrokのサービスも停止してしまうという不都合がある一方、常時そのコンピュータの電源をオンにしておくのは賢くない。linuxサーバはファンレスパソコンなので消費電力はごくわずかではあるが….
ngrokというツールをバックグラウンド(デーモンモード)で起動させたいので、開発元・サービス会社のngrok社に設定法を問い合わせてみた。返ってきた答えは、そのような仕掛けは用意しておらずsystemd, upstart, supervisor, runitなどで同じ機能は実現できるのでそれを使うようにとの回答。う~む、お勉強の絶好の機会を提供してくれるよ(^^)
As to how to start ngrok as a daemon, there are no options to start ngrok as a daemon. Instead you’ll want to use one of the very many service managers like systemd, runit, supervisor, pm2, upstart or others to handle running ngrok as a service.
しかし考えてみるとngrokの起動にはhttpアクセスしてコンソール上に表示されるURL(アドレス)の参照が必要になるが、それにはモニターが必要。しかしデーモン化するとssh接続してもそれを見ることができない。
それを解決する方法をngrok社は用意していて有料ユーザーは固定(指定)サブドメインを利用できると言うもの。これだといちいちアクセスするURLを確認する必要がなくなる。価格体系はBasicが月5ドル。
https://ngrok.com/product#pricing
一方あるサイトでngrokの運用にはvncサーバを利用する、と言っていた人がいたので上記有料のオプションやDDNSサービスを利用する前にssh接続の代わりとしてvncのサービスをRaspberryPiに導入してみることになりそうだ。このvncは単なる端末のエミュレータ、Windowsで言う「リモートデスクトップ接続」なので、ssh接続しているパソコンをオフにしてもRaspberryPi上のngrokの使用継続には影響が出ないはず。
VNCサーバ、クライアントの第一候補は tightVNC で良いんだろうか?
やっつけ仕事(趣味)だけど約1時間でvncサーバーとそのwindows viewerの導入が完了した(*^^*)
Debianの起動レベルの設定をコマンドラインモードにしたいがCentos6などとちょっと書式がちがいますね(汗)