🐳

n8nをローカル環境(Docker)でサクッと動かしてみよう!

に公開

はじめに

最近、ノーコードで様々なサービス連携や自動化を実現できるツールとして「n8n」が注目を集めています。

クラウド版も便利ですが、「まずは手元で試してみたい」って思います。

今回は、Dockerを使ってn8nをサクッとローカル環境で動かす手順をご紹介します。Dockerさえあれば、驚くほど簡単にn8nの世界を体験できます!

n8nの準備:Dockerでサクッと起動!

n8nをローカルで動かす方法はいくつかありますが、今回は一番手軽なDockerを使った方法で進めていきましょう。もし、まだDockerをインストールしていない場合は、Docker公式サイトなどを参考に、お使いの環境に合わせてインストールしておいてください。

準備ができたら、まずはn8nの環境を構築するための作業ディレクトリを好きな場所に作りましょう。

ディレクトリを作成したら、その中に docker-compose.yml という名前のファイルを作成し、以下の内容を貼り付けてください。

docker-compose.yml
services:
  n8n:
    image: n8nio/n8n:latest # 最新版のn8nイメージを指定
    container_name: n8n_local # コンテナ名を指定 (任意)
    restart: unless-stopped # コンテナが停止した場合、手動で停止しない限り再起動
    ports:
      - "5678:5678" # ホストOSの5678番ポートをコンテナの5678番ポートに接続
    environment:
      # 重要: ワークフローの認証情報などを暗号化するためのキー
      # 下記のコマンドで生成したランダムな文字列を設定してください
      - N8N_ENCRYPTION_KEY=<<強力で_ランダムな_キー文字列>>
      # タイムゾーンを日本時間に設定
      - GENERIC_TIMEZONE=Asia/Tokyo
      # その他の設定が必要な場合はここに追加
      # 例: - N8N_EMAIL_MODE=smtp
      #     - N8N_SMTP_HOST=your_smtp_host
      #     ...
    volumes:
      # n8nの設定データやワークフローデータを永続化するためのボリューム
      - n8n_data:/home/node/.n8n

volumes:
  n8n_data:
    # 外部ボリュームを使用する場合などは、ここに設定を追加

docker-compose.yml のポイント解説

このファイルの中身を見てみましょう。

  • image: n8nio/n8n:latest: Docker Hubで公開されている最新のn8n公式イメージを使います。バージョンを固定したい場合は latest の部分を具体的なバージョン番号(例: 1.23.0)に変更します。
  • restart: unless-stopped: Dockerデーモン起動時や、何らかの理由でn8nコンテナが停止した際に自動で再起動してくれる設定です。always より安全な unless-stopped がおすすめです。
  • ports: - "5678:5678": これにより、お使いのPC(ホストOS)の 5678 番ポートへのアクセスが、Dockerコンテナ内で動いているn8nの 5678 番ポートに転送されます。
  • environment: ここではn8nの動作に必要な環境変数を設定します。
    • N8N_ENCRYPTION_KEY: これは 非常に重要 な設定です!ワークフロー内で扱うAPIキーなどの認証情報を暗号化するために使われます。必ず 推測されにくい、ランダムな文字列 を設定してください。
    • GENERIC_TIMEZONE=Asia/Tokyo: タイムゾーンを日本時間に設定しています。これを設定しないと、ワークフローの実行時間などがUTC(協定世界時)基準になってしまいます。
  • volumes: - n8n_data:/home/node/.n8n: n8nの設定や作成したワークフローのデータは、Dockerコンテナの中に保存されます。この設定がないと、コンテナを削除した際にデータが消えてしまいます。volumes を使うことで、データをホストOS側の n8n_data という名前付きボリュームに永続化し、コンテナを作り直してもデータを引き継げるようにしています。

暗号化キーの生成と設定

N8N_ENCRYPTION_KEY に設定するランダムな文字列は、例えばLinuxやmacOSのターミナルで以下の openssl コマンドを使って生成できます。(Windowsの場合はGit Bashなどを使うと実行できます)

openssl rand -base64 32

実行すると、ランダムな文字列が表示されるはずです。

例: AbCdEfGhIjKlMnOpQrStUvWxYz0123456789/+==

この生成された文字列をコピーして、先ほどの docker-compose.yml ファイル内の <<強力で_ランダムな_キー文字列>> の部分に貼り付けてください。

docker-compose.yml
# (前略)
    environment:
      - N8N_ENCRYPTION_KEY=AbCdEfGhIjKlMnOpQrStUvWxYz0123456789/+== # ← ここに生成したキーを設定!
      - GENERIC_TIMEZONE=Asia/Tokyo
# (後略)

n8nコンテナの起動

docker-compose.yml の準備ができたら、ターミナル(コマンドプロンプトやPowerShellなど)を開き、docker-compose.yml を保存したディレクトリに移動してください。そして、以下のコマンドを実行します。

docker compose up -d

このコマンドは、docker-compose.yml の設定に従ってn8nのコンテナをバックグラウンドで(-d オプション)起動します。初回はn8nのDockerイメージのダウンロードが行われるため、少し時間がかかるかもしれません。

コンテナの起動状況を確認したい場合は、以下のコマンドを実行します。

docker compose ps

StateUp になっていれば、無事に起動しています。

n8nへアクセス!

さあ、いよいよn8nにアクセスしてみましょう!Webブラウザを開き、アドレスバーに http://localhost:5678 と入力してアクセスしてください。

以下のような画面が表示されれば、n8nの起動は成功です!ここからは、n8nを管理するためのオーナーアカウントを作成していきます。

オーナーアカウントの作成と初期設定

最初のアクセス時には、n8nインスタンスの所有者となるオーナーアカウントの設定が求められます。画面の指示に従って、名前、メールアドレス、パスワードを入力し、「Next」ボタンをクリックしましょう。

n8n初期画面

次に、n8nをどのように利用するか、簡単なアンケートが表示されます。回答し、「Get started」をクリックします。

利用目的の選択

続いて、Freeプランのライセンスキーに関する案内が表示されます。ライセンスキーは、いくつかの高度な機能(ユーザー管理、SSOなど)を利用する場合に必要になりますが、基本的なワークフロー作成には必須ではありません。

メールアドレスを入力し、「Send me my free license key」をクリックすると、入力したメールアドレス宛にキーが送られてきます。

ライセンスキー送信の案内

ライセンスキーの設定

ライセンスキーを取得したら、以下の手順で設定できます。

  1. 画面左下の自分の名前が表示されている部分の横にある三点リーダー(...)をクリックします。
  2. 表示されたメニューから Settings を選択します。

Settingsメニューへのアクセス

  1. 左側のメニューから Usage and plan を選択します。
  2. 「Enter activation key」をクリックします。
  3. メールで送られてきたライセンスキーを Activation Key の欄に入力し、「Activate」ボタンをクリックします。

License Key設定画面

ライセンスキー入力欄

これでライセンスが有効になり、初期セットアップは完了です!

ワークフローを作成する準備が整いました。

まとめ

お疲れ様でした!これで、あなたのローカル環境にn8nがインストールされ、いつでもワークフローを作成・実行できる状態になりました。Dockerを使えば、思ったよりも簡単に環境構築できたのではないでしょうか?

ここから先は、いよいよn8nの真骨頂であるワークフロー作成の世界です。様々なノードを繋ぎ合わせて、日々の面倒な作業を自動化していきましょう!

Discussion