n8nで業務効率化!無料で使用できるセルフホスト版のセットアップ手順

未分類

n8n セルフホスト版とは

n8n(エヌエイトエヌ)は、ノーコード・ローコードでワークフローを自動化できるオープンソースのツールです。
ZapierやMake(旧Integromat)のような自動化サービスと似ていますが、自社サーバーにインストールして利用できる点が特徴です。
これにより、データを外部に出さずに自動化を実現できるため、セキュリティやプライバシーの観点からも安心して導入できます。

n8n は「fair-code」モデルを採用しており、個人利用や小規模利用であれば無料で使用できます。
また、Docker や Node.js 環境上で簡単に動作するため、エンジニア以外の方でも比較的容易に導入できるのが魅力です。
n8n.io - AI workflow automation tool
n8n is a free and source-available workflow automation tool

n8n の主な特徴

  • ノーコード自動化:ドラッグ&ドロップでワークフローを作成
  • 豊富なノード:Slack、Google Sheets、Gmail、Webhook、MySQL、FTP など多数の連携先
  • セルフホスト対応:自社サーバーやVPS上で運用可能
  • 柔軟なロジック構築:条件分岐、ループ、エラーハンドリング、変数の動的処理なども可能
  • 拡張性:自作ノードの追加やJavaScriptコードの実行も可能

仕事での活用例

n8nは業種を問わずさまざまな業務を自動化できます。以下に代表的な活用例を紹介します。

顧客対応の自動化

  • Webフォームに入力された内容を自動でSlackに通知
  • 問い合わせ内容をGoogleスプレッドシートに記録
  • ChatGPT APIなどを連携させ、自動応答メッセージを生成

データ処理の自動化

  • 定期的に外部APIからデータを取得し、データベースに保存
  • CSVファイルをFTPサーバーからダウンロードし、自動で整形して別システムにアップロード
  • 社内の分析用データを自動更新

マーケティング業務の効率化

  • 新規リードが登録された際にCRMへ自動登録
  • SNS投稿のスケジュール自動化(TwitterやInstagram API連携)
  • メールキャンペーンの自動送信

社内業務の効率化

  • 勤怠データを自動集計して管理者にレポート送信
  • 定期バックアップの自動化
  • 請求書の送信やファイル整理の自動処理

これらの自動化により、手作業での転記やチェック作業を大幅に削減でき、ミスの防止や業務時間の短縮が実現します。

n8n セルフホスト版セットアップ手順

以下はDockerを使用したセットアップの基本的な流れです。

サーバーの準備

サーバー(VPSやオンプレミス環境など)を用意します。

docker インストール (例:AWS Ubuntu)

① 既存の古いDocker関連パッケージを削除

sudo apt remove docker docker-engine docker.io containerd runc

② パッケージを更新

sudo apt install ca-certificates curl gnupg lsb-release -y

③ Docker公式GPGキーを登録

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

④ リポジトリを追加

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
  https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | \
  sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

⑤ Docker本体をインストール

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

⑥ 動作確認

sudo docker run hello-world

⑦ root以外で実行可能にする

sudo usermod -aG docker $USER
※ %USER はn8nをセットアップするサーバーアカウントのuser名

composer セットアップ

セットアップするユーザーでサーバーにログインし、任意のディレクトリで以下を実行

mkdir n8n
cd n8n

以下からinstallerをダウンロードし、composer-setup.phpの名前にリネーム

https://getcomposer.org/installer

n8nフォルダ内に配置し、以下を実行

php composer-setup.php

n8nセットアップ

以下のdocker-compose.ymlをn8nフォルダ内に配置

version: '3.8'

services:
  n8n:
    image: n8nio/n8n
    restart: always
    ports:
      - "5678:5678"
    environment:
      - N8N_LISTEN_ADDRESS=0.0.0.0
      - N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
      - N8N_BASIC_AUTH_ACTIVE=true
      - N8N_BASIC_AUTH_USER=admin
      - N8N_BASIC_AUTH_PASSWORD=secretkey2025n8n!@#$
      - N8N_HOST=localhost
      - N8N_PORT=5678
      - GENERIC_TIMEZONE=Asia/Tokyo
      - TZ=Asia/Tokyo
    volumes:
      - ./n8n_data:/home/node/.n8n

※N8N_BASIC_AUTH_PASSWORDのパスワードは各自任意の文字列を設定してください

以下を実行して起動

docker compose up -d

接続

ブラウザから以下にて接続

http://[ip address]:5678/

画面からメールアドレス、パスワードを設定して使用できます。

n8n

ドメインを設定する場合

例:https://example.com/n8n/ で接続する場合

  • Apacheの場合のバーチャルホスト設定例
    Webサーバー(Apache等)側でバーチャルホストを設定
<VirtualHost *:443>
    ServerName example.com
    ServerAdmin server@example.com.jp
    CustomLog /home/example.com/www/logs/access_log combined
    ErrorLog /home/example.comp/www/logs/error_log

    DocumentRoot /home/example.com/www/public_html

    <Directory "/home/example.com/www/public_html">
            Options FollowSymLinks
            AllowOverride All
            Require all granted
    </Directory>

    SSLEngine on
    SSLCertificateFile      /etc/apache2/certs/example.com/server.crt
    SSLCertificateKeyFile   /etc/apache2/certs/example.com/server.key
    SSLCertificateChainFile /etc/apache2/certs/example.com/chain.crt

    <FilesMatch "\.(cgi|shtml|phtml|php)$">
            SSLOptions +StdEnvVars
    </FilesMatch>

    # =========================
    # n8n リバースプロキシ設定
    # =========================
    ProxyPreserveHost On
    ProxyRequests Off
    AllowEncodedSlashes NoDecode

    # n8n を /n8n/ にマウント
    ProxyPass        /n8n/  http://localhost:5678/
    ProxyPassReverse /n8n/  http://localhost:5678/

    # WebSocket対応(リアルタイム通信に必要)
    RewriteEngine On
    RewriteCond %{HTTP:Upgrade} =websocket [NC]
    RewriteRule /n8n/(.*) ws://localhost:5678/$1 [P,L]

</VirtualHost>

※上記はご自身の環境に合わせて設定してください。

  • docker-compose.ymlのenvironment:に以下を追加
    例:https://example.com/n8n/ で接続
      - N8N_PATH=/n8n/
      - VUE_APP_PATH=/n8n/
      # 外部からアクセスする場合(Apacheリバースプロキシ経由など)
      - WEBHOOK_URL=https://example.com/n8n/
  • Docker再起動
$ docker compose up -d

まとめ

n8n セルフホスト版は、自社サーバー上で柔軟にワークフローを自動化できる強力なツールです。
ノーコードで操作できるため、開発者だけでなく非エンジニアの方でも業務効率化を実現できます。
n8nを活用することで、日々の手作業や繰り返し処理を自動化し、「人が考えるべき業務」に集中できる環境を整えることができます。
自社のシステムやクラウドサービスとの連携を深め、効率的なワークフローを構築していきましょう。

コメント

タイトルとURLをコピーしました