セルフホスティングの IFTTT 代替。n8n.io を使ってみた
IFTTT が実質有料化してしまったので、代替ツールを探していた。前々から自分のサーバにホスティングする IFTTT っぽいツールに興味があったので、今日はその一つである n8n.io というモノを試してみる。
なお、それ以外の IFTTT 代替のツールは以下で探せる。
- 参考 : Self-Hosted IFTTT Alternatives - AlternativeTo.net
- Huginn も良さそう
n8n.io は Node.js ベースで依存するモノが少なく済みそうなのと、Docker イメージがあって導入が簡単そうだったので試してみた。
無料 IaaS である GCE や OCI の VM 上に Docker をインストールしてあれば、次のように叩くだけで n8n.io が立ち上がる。
# root ユーザで作業するテイ
$ sudo su -
# n8n.io のデータは SQLite で管理される。ホスト側にデータを残すためディレクトリを作る
$ mkdir /root/.n8n
# 以下のように Docker をバックグラウンド起動すれば良い
# ユーザ名とパスワードは BASIC 認証で使用する
$ docker run -dit \
--name n8n \
-p 8080:5678 \
-v "${HOME}/.n8n:/root/.n8n" \
-e N8N_BASIC_AUTH_ACTIVE=true \
-e N8N_BASIC_AUTH_USER=【ユーザ名】 \
-e N8N_BASIC_AUTH_PASSWORD=【パスワード】 \
n8nio/n8n
-p
オプションで指定したとおり、コレで
http://localhost:8080/
にアクセスすれば、n8n.io の画面が開く。
ワークフローの構築は比較的簡単で、RSS や SNS、Webhook URL などをトリガーに好きな処理を実行できる他、cron 的な定期実行も可能。以下のページでテンプレート的なワークフローが公開されていて、コレをそのままインポートできるので、参考にされたし。
- 参考 : Workflows - n8n.io
IFTTT には劣るが、それなりに連携サービスが多いので、GitHub と Slack で連携するとか、Twitter と Google スプレッドシートなんかを連携するとか、可能性は広い。
24時間・365日稼動が必要なければ、自分の PC 上で時々起動しておけば良いし、小規模であれば前述のとおり Always Free な IaaS にでも置いておけば良いだろう。