LoginSignup
1
2

無料IPaaSであるn8n.ioをSynology NASのDockerで動かす

Last updated at Posted at 2024-02-05

普段の生活において、何かと自動化を求めてしまうこの頃。

IFTTTなど数々のIPaaS製品を使ってきたものの、サービス終了や有料化の波が押し寄せ、
「なんとか無料でできないか」と諦めて課金していたときに n8n.io に出会いました。

他のIPaaS製品と同じようなものかーと思っていたんですが、よく見るとソースがgithubに公開されているではないか!

自前でサーバやNASなどを持っている人は無料で使えるとのことなので、昔から使っているSynology NASにインストールしてみました。

環境

今回インストールしたNASは以下のとおり

  • Synology DS220+
  • DSM 7.2.1-69057 Update 4

パッケージセンターから「Container Manager」をダウンロードしておきます

image.png

  • Container Manager
  • v20.10.23-1437

Dockerからファイルのダウンロード

n8n.ioのGitHubには、docker-composeを使う場合のファイルが用意されています。

以下のURLから3種類のファイルをダウンロードしておきます。

  • .env
  • docker-compose.yml
  • init-dash.sh

ファイルの編集

ダウンロードしたファイルの中で、「.env」ファイルはそのまま利用できません。

以下のように中身を書き換えてください。

.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つのファイルをアップロードしてください。

image.png

  • .env
  • init-data.sh

Dockerを起動

Container Managerを開き、プロジェクト > 作成 をクリックします。

項目 内容
プロジェクト名 (任意の名前を記入)
パス docker > n8n を指定
ソース 「docker-compose.ymlをアップロード」を選択
ファイル (ダウンロードしたdocker-compose.ymlをアップロード)

image.png

「次へ」をクリックすると、プロジェクトが作成されます。

インストールまでしばらく時間がかかるので待ちましょう。

n8nにアクセス

当初、私はここで躓きました。

「localhost:5678でアクセスできるよ」とメッセージが出てくるのですが、それはあくまでNAS上の話。

クライアントパソコンからどうやってNASのlocalhostにアクセスするんだ!と悩みました。

答えは簡単で、「リバースプロキシ」で解決できたのです。

コントロールパネル > ログインポータル > 詳細設定 > リバースプロキシ をクリックしていくと、設定画面が表示され、新たに設定を追加しましょう。

image.png

私はポート番号12000を叩くと、localhost:5678に届くよう設定。

もちろん12000以外のポート番号にしてもOKです。

カスタムヘッダーも忘れずに設定。作成 > WebSocket で追加できます。

image.png

普段からQuickConnectで接続している方は、DDNSの設定をしておきましょう。

DDNS設定はこちらの記事がわかりやすいです。

これにより、 https://xxxxxxx.synology.me:12000 を叩くとn8nの設定画面が表示されるようになりました!

image.png

皆さん、良い自動化ライフを!

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2