n8n セルフホスト版とは
n8n(エヌエイトエヌ)は、ノーコード・ローコードでワークフローを自動化できるオープンソースのツールです。
ZapierやMake(旧Integromat)のような自動化サービスと似ていますが、自社サーバーにインストールして利用できる点が特徴です。
これにより、データを外部に出さずに自動化を実現できるため、セキュリティやプライバシーの観点からも安心して導入できます。
また、Docker や Node.js 環境上で簡単に動作するため、エンジニア以外の方でも比較的容易に導入できるのが魅力です。

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の名前にリネーム
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
接続
ブラウザから以下にて接続
画面からメールアドレス、パスワードを設定して使用できます。

ドメインを設定する場合
例: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を活用することで、日々の手作業や繰り返し処理を自動化し、「人が考えるべき業務」に集中できる環境を整えることができます。
自社のシステムやクラウドサービスとの連携を深め、効率的なワークフローを構築していきましょう。



コメント