はじめに

最近、n8nというワークフロー自動化ツールを使い始めたので、インストール方法を自分用にまとめておこうと思います。

毎日同じ作業を繰り返すのって本当に面倒ですよね。複数のサービスを手動で連携させたり、定期的に同じデータを転記したり。そういう作業を自動化できるのがn8nです。

n8nってなに?

n8nは、いろんなサービスやAPIを繋げて自動化できるツールです。読み方は「ノード・エイト・ノード」らしいです。

特徴をいくつか挙げると:

  • オープンソースで無料で使える
  • 300種類以上のサービスに対応している(Slack、Gmail、Notion、GitHubなど)
  • 自分のサーバーで動かせる
  • プログラミングできなくても使えるし、JavaScriptも書ける
  • Zapierの代わりとして使えそう

具体的に何ができるかというと、例えば:

  • Gmailで特定のメールを受信したらSlackに通知する
  • Googleフォームの回答を自動でスプレッドシートに整形して保存
  • 特定のキーワードでツイートされたらNotionに保存
  • カレンダーの予定に基づいて自動でタスクを作成
  • 複数のサービス間でデータを自動同期

こんな感じのことができます。


インストール方法を選ぶ

n8nをインストールする方法は主に3つあります。

方法1: npm

Node.jsがすでに入っている人向け。一番シンプルで軽量。ただ、Node.jsの知識がある程度必要です。

方法2: Docker

環境を汚したくない人におすすめ。Dockerの基本的な使い方を知っていれば使えます。

方法3: docker-compose

本格的に運用したい人向け。設定ファイルで管理できるので、再現性が高いです。最初の設定はちょっと複雑かも。


方法1: npmでインストール

Node.jsがすでに入っていれば、これが一番簡単です。

まず、Node.jsのバージョンを確認します。18.x以上が必要です。

node --version

インストールはこれだけ。

npm install -g n8n

インストールが終わったら起動します。

n8n

ブラウザで http://localhost:5678 を開くと、n8nの画面が出てきます。

メリットは、コマンド1つで簡単にインストールできることと、すぐ試せること。アップデートも npm update -g n8n で終わります。

注意点としては、システム全体にインストールされるので、複数のバージョンを使い分けたい場合はちょっと面倒かもしれません。


方法2: Dockerでインストール

Dockerを使うと、環境を汚さずにn8nを動かせるので個人的におすすめです。

まず、Dockerが入っているか確認。

docker --version

とりあえず試すだけなら、これで起動できます。

docker run -it --rm \\\\
  --name n8n \\\\
  -p 5678:5678 \\\\
  docker.n8n.io/n8nio/n8n

ただし、これだとコンテナを停止したときにデータが消えます。

実際に使うなら、データを保存する設定が必要です。

docker run -it --rm \\\\
  --name n8n \\\\
  -p 5678:5678 \\\\
  -v ~/.n8n:/home/node/.n8n \\\\
  docker.n8n.io/n8nio/n8n

日本時間で動かすために、タイムゾーンも設定しておくといいです。

docker run -it --rm \\\\
  --name n8n \\\\
  -p 5678:5678 \\\\
  -e GENERIC_TIMEZONE="Asia/Tokyo" \\\\
  -e TZ="Asia/Tokyo" \\\\
  -v ~/.n8n:/home/node/.n8n \\\\
  docker.n8n.io/n8nio/n8n


方法3: docker-composeでインストール

本格的に運用するなら、docker-composeがいいと思います。設定ファイルで管理できるので、後から見返したり、チームで共有したりするのが楽です。

プロジェクト用のディレクトリを作って、docker-compose.yml ファイルを置きます。

version: '3.8'

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=your_secure_password_here
      - GENERIC_TIMEZONE=Asia/Tokyo
      - TZ=Asia/Tokyo
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - NODE_ENV=production
    volumes:
      - ./n8n-data:/home/node/.n8n

環境変数について少し説明しておきます。

  • N8N_BASIC_AUTH_ACTIVE: 基本認証を有効にするかどうか。セキュリティのため true にしておくのがいいです。
  • N8N_BASIC_AUTH_USER: ログイン時のユーザー名。好きな名前に変更してください。
  • N8N_BASIC_AUTH_PASSWORD: ログイン時のパスワード。必ず変更してください。
  • GENERIC_TIMEZONE: ワークフローのタイムゾーン。日本なら Asia/Tokyo
  • TZ: システムのタイムゾーン。これも Asia/Tokyo
  • N8N_HOST: ホスト名。ローカルなら localhost、ドメインを使うならそれに変更。
  • N8N_PROTOCOL: httphttps。HTTPSを使うなら https に変更。

起動方法はこんな感じ。

# docker-compose.ymlがあるディレクトリで実行
docker-compose up -d

# ログを見たいとき
docker-compose logs -f

# 停止するとき
docker-compose down

# 再起動するとき
docker-compose restart


初回セットアップ

インストールが終わったら、ブラウザで http://localhost:5678 を開きます。

初めてアクセスすると、管理者アカウントの作成画面が出てきます。メールアドレスとパスワード(8文字以上がいいです)を入力してアカウントを作ります。

それが終わると、ワークフローを作れるようになります。「Create new workflow」というボタンがあるので、それをクリック。

試しに簡単なワークフローを作ってみるといいと思います。例えば:

  1. Scheduleノードを追加(定期実行用)
  2. Setノードを追加(データ設定用)
  3. ノード同士を繋げて保存

これだけでも、自動化の仕組みが理解できるはずです。


HTTPS設定(外部公開する場合)

外部からアクセスできるようにする場合は、HTTPSの設定をしたほうがいいです。

一般的なやり方としては、NginxとかTraefikみたいなリバースプロキシを前に置いて、Let’s Encryptで無料のSSL証明書を取得する方法があります。

docker-compose.ymlにnginxを追加する場合、こんな感じになります。

version: '3.8'

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: always
    environment:
      - N8N_HOST=your-domain.com
      - N8N_PROTOCOL=https
      - WEBHOOK_URL=https://your-domain.com/
      - GENERIC_TIMEZONE=Asia/Tokyo
      - TZ=Asia/Tokyo
    volumes:
      - ./n8n-data:/home/node/.n8n
    networks:
      - n8n-network

  nginx:
    image: nginx:alpine
    restart: always
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf:ro
      - ./ssl:/etc/nginx/ssl:ro
    networks:
      - n8n-network
    depends_on:
      - n8n

networks:
  n8n-network:
    driver: bridge


よくある質問

n8nは完全無料?

セルフホストで使う分には無料です。n8n Cloudという公式のホスティングサービスもあって、それは有料ですが、自分でサーバーを用意すれば無料で使えます。

Zapierとの違いは?

一番の違いは、n8nは自分のサーバーで動かせること。オープンソースなので、カスタマイズも自由です。Zapierは使いやすいけど、月額料金がかかるし、実行回数に制限があります。

プログラミングの知識は必要?

基本的なワークフローならノーコードで作れます。ただ、複雑なことをやろうとすると、JavaScriptの知識があったほうが便利です。

どのくらいのサーバースペックが必要?

軽いワークフローなら、メモリ512MB、CPU 1コアでも動きます。本格的に使うなら、メモリ2GB以上、CPU 2コア以上あったほうがいいかなと思います。

データはどこに保存される?

デフォルトでは、SQLiteデータベースが ~/.n8n に保存されます。PostgreSQLやMySQLも使えます。


まとめ

n8nのインストール方法を3つ紹介しました。

  • とりあえず試したい → npm
  • 環境を汚したくない → Docker
  • 本番環境で運用 → docker-compose

個人的には、Dockerで試してみて、良さそうだったらdocker-composeに移行するのがおすすめです。

n8nを使えば、毎日の面倒な作業を自動化できるので、もっと大事なことに時間を使えるようになります。

まずは簡単なワークフローから始めて、少しずつ慣れていくのがいいと思います。

参考になれば幸いです。

他にもdockerの使い方なども勉強中なので一緒に勉強していきましょう。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です