普段の生活において、何かと自動化を求めてしまうこの頃。
IFTTTなど数々のIPaaS製品を使ってきたものの、サービス終了や有料化の波が押し寄せ、
「なんとか無料でできないか」と諦めて課金していたときに n8n.io に出会いました。
他のIPaaS製品と同じようなものかーと思っていたんですが、よく見るとソースがgithubに公開されているではないか!
自前でサーバやNASなどを持っている人は無料で使えるとのことなので、昔から使っているSynology NASにインストールしてみました。
環境
今回インストールしたNASは以下のとおり
- Synology DS220+
- DSM 7.2.1-69057 Update 4
パッケージセンターから「Container Manager」をダウンロードしておきます
- Container Manager
- v20.10.23-1437
Dockerからファイルのダウンロード
n8n.ioのGitHubには、docker-composeを使う場合のファイルが用意されています。
以下のURLから3種類のファイルをダウンロードしておきます。
- .env
- docker-compose.yml
- init-dash.sh
ファイルの編集
ダウンロードしたファイルの中で、「.env」ファイルはそのまま利用できません。
以下のように中身を書き換えてください。
POSTGRES_USER=n8nuser
POSTGRES_PASSWORD=n8npass
POSTGRES_DB=n8n
POSTGRES_NON_ROOT_USER=n8nuser
POSTGRES_NON_ROOT_PASSWORD=n8npass
書き換えないとデータベースとの接続がうまくいかないので注意が必要です。
Synologyにファイルをアップロード
先ほどダウンロードしたファイルをSynologyにアップロードします。
Container Managerをインストールすると同時にできたフォルダ「Docker」内に、
「n8n」というフォルダを作成し、2つのファイルをアップロードしてください。
- .env
- init-data.sh
Dockerを起動
Container Managerを開き、プロジェクト > 作成 をクリックします。
項目 | 内容 |
---|---|
プロジェクト名 | (任意の名前を記入) |
パス | docker > n8n を指定 |
ソース | 「docker-compose.ymlをアップロード」を選択 |
ファイル | (ダウンロードしたdocker-compose.ymlをアップロード) |
「次へ」をクリックすると、プロジェクトが作成されます。
インストールまでしばらく時間がかかるので待ちましょう。
n8nにアクセス
当初、私はここで躓きました。
「localhost:5678でアクセスできるよ」とメッセージが出てくるのですが、それはあくまでNAS上の話。
クライアントパソコンからどうやってNASのlocalhostにアクセスするんだ!と悩みました。
答えは簡単で、「リバースプロキシ」で解決できたのです。
コントロールパネル > ログインポータル > 詳細設定 > リバースプロキシ をクリックしていくと、設定画面が表示され、新たに設定を追加しましょう。
私はポート番号12000を叩くと、localhost:5678に届くよう設定。
もちろん12000以外のポート番号にしてもOKです。
カスタムヘッダーも忘れずに設定。作成 > WebSocket で追加できます。
普段からQuickConnectで接続している方は、DDNSの設定をしておきましょう。
DDNS設定はこちらの記事がわかりやすいです。
これにより、 https://xxxxxxx.synology.me:12000 を叩くとn8nの設定画面が表示されるようになりました!
皆さん、良い自動化ライフを!