在宅ワーク環境を改善していいこうと思い。
N8N
IFTTT や Zapier が有名な、サービス間連携を簡単にできるサービスをオンプレミスな環境にホスティングもできるツール。
今回はこれを余ってるラズパイにインストールして家の中の連携や在宅ワークの効率化に使えないかな?とインストールしてみる。
N8N PI
N8N自体はラズパイをサポートしてないんだけど、ラズパイ用にカスタマイズされたプロジェクトがあったりするのでこれをインストールしてみる。
http://n8n-pi.tephlon.xyz/#/
ラズパイ側の準備
既に最低限セットアップされた RaspbianOS があるので割愛。
n8n-pi にはラズパイ用のイメージも提供されているため、これからイメージを焼いて準備する場合はそちらを利用したほうが楽。
n8n-pi - Download and Prep the Image
N8N-PI のインストール
ここでは n8n-pi の DIY インストール手順に沿って実施ていいく。
Node.js のインストール
Debianしかり標準リポジトリで Nodejs をインストールするとちょっと古いバージョンになってしまうため、いつもの手順で最新にする。
# apt install nodejs npm
# npm install -g n
# n stable
# apt remove nodejs npm
インストールスクリプト実行
DIYインストール用のスクリプトが用意されているため実行する。
https://community.n8n.io/t/n8n-installation-script-for-raspberry-pi-n8n-pi/1392
# wget --no-cache -O - https://raw.githubusercontent.com/TephlonDude/n8n-pi/master/scripts/build-n8n-pi-1.sh | bash
セットアップは2セットに分かれていて、最初のスクリプトはラズパイ環境のセットアップや環境調査になっている。
スクリプト実行により使っているラズパイが動作対象としてOKとなるとn8n
ユーザーがOSに作成され、2セット目のスクリプトがユーザーディレクトリに作成される。
n8n ユーザーの初期パスワードは下記。
n8n
n8n=gr8!
2セット目のスクリプトは 一度 n8n ユーザーでログインし直して実行する。
注意点として、スクリプト途中の apt install nodejs で低いバージョンをインストールされてしまうためコメントアウトしてから実行する。
デフォルトの pi
ユーザーは削除されたりするため、不都合な記述が無いかスクリプトの中身は一度見ておいたほうが良い。
$ ./build-n8n-pi-2.sh
途中 pm2 コマンドが無いと出てくるので手動でインストール。Nodejs アプリのデーモン化ツールだね。
# npm install pm2 -g
スクリプトは再実行性がない作りなので、再実行する場合ユーザーが既に作られていたり、ディレクトリがあったりするとエラーで止まるため適宜調整が必要
インストールが完了すると色々ログイン時のプロンプトが変わってる(笑
サービスの起動
n8n 本体はどこにあるのかというと、n8n ユーザーの .profile
に下記のように PATH が追加されている。
export PATH=~/.nodejs_global/bin:$PATH
起動等はコマンド直の他 pm2 経由で起動/停止操作する。
$ pm2 start n8n
$ pm2 stop n8n
ポート変更
n8n のデフォルトリスニングポートは 5678 になってて任意のポートで起動したい場合は環境変数に設定する。
https://docs.n8n.io/getting-started/installation/advanced/configuration.html
PATH 設定同様に .profile
に追記しておくと良いかも。
export N8N_PORT=1880
80番ポート等で起動したい場合は root アカウントで起動する必要があるので、その場合は同様に root の .profile
に追記しておく。