【Docker Compose】n8nをコピペ一発で構築!データ永続化・日本語設定・Webhook対応の完全ガイド

【Docker Compose】n8nをコピペ一発で構築!データ永続化・日本語設定・Webhook対応の完全ガイド AI開発フレームワーク・ツール

「PCを買い替えたらn8nの環境を作り直し…」「ローカル環境を汚したくない」
そんな悩みを持つあなたへ。Docker Composeを使えば、設定ファイル(YAML)1つで、どこでも全く同じn8n環境を「3分」で再現できます。

この記事では、単に起動するだけでなく、「データの永続化(消えない設定)」「日本時間対応」「外部Webhookの受信テスト」まで網羅した、実用的なテンプレートコードを提供します。

エンジニアとして、コマンド一発で立ち上がる「あなただけの自動化基地」を作りましょう。

【結論】コピペで動く最強の docker-compose.yml

以下のコードをコピーして、docker-compose.yml という名前で保存してください。これが現在のベストプラクティスを詰め込んだ構成です。

“`yaml
version: ‘3.8’

services:
n8n:
image: n8n-io/n8n:latest
container_name: n8n-app
restart: always
ports:
– “5678:5678”
environment:
– GENERIC_TIMEZONE=Asia/Tokyo
– TZ=Asia/Tokyo
– N8N_ basic_AUTH_ACTIVE=true # 簡易認証を有効化
– N8N_BASIC_AUTH_USER=admin
– N8N_BASIC_AUTH_PASSWORD=password # 任意のパスワードに変更
volumes:
– n8n_data:/home/node/.n8n
# ▼ローカルPCでWebhookをテストしたい場合のみコメントアウトを外す
# command: “start –tunnel”

volumes:
n8n_data:

なぜこの設定なのか? 3つの技術的ポイント

1. データの永続化(Volumes)

Docker初心者がやりがちなミスが、コンテナを再起動したら「作ったワークフローが全部消えた」という悲劇です。
上記の volumes: - n8n_data:/home/node/.n8n という記述により、コンテナを削除してもデータはDocker内部の安全な場所に保管され続けます。

2. 日本時間への完全対応(Timezone)

n8nはデフォルトでUTC(世界協定時)で動きます。これを放置すると、Cron(定期実行)ノードで「朝9時に送信」としたつもりが「夕方18時」に動いてしまいます。
環境変数に GENERIC_TIMEZONETZ の両方をセットすることで、ログもスケジュールも日本時間(JST)で統一されます。

3. Webhookのテスト用トンネル(–tunnel)

通常、ローカルPC(localhost)でn8nを動かしている場合、SlackやGoogleフォームからのWebhook通知を受け取ることはできません。
しかし、起動コマンドに start --tunnel を追加すると、n8nが一時的なhttpsの公開URLを発行してくれます。面倒なngrokの設定なしで、外部連携のテストが可能になります。

注意: --tunnel はあくまで開発・テスト用機能です。本番運用(VPSなど)では使用せず、正しいドメイン設定を行ってください。

【実践】起動から初期設定までの3ステップ

Step 1: フォルダとファイルの作成

適当なフォルダ(例: my-n8n)を作成し、その中に先ほどの docker-compose.yml を置きます。

Step 2: コンテナの起動

ターミナル(またはコマンドプロンプト)でそのフォルダを開き、以下のコマンドを実行します。

docker compose up -d

初回はイメージのダウンロードが入りますが、2回目以降は数秒で起動します。

Step 3: ブラウザでアクセス

ブラウザを開き、http://localhost:5678 にアクセスします。
設定ファイルに記述したユーザー名(admin)とパスワードでログインし、Ownerアカウントの設定を済ませれば完了です。

トラブルシューティングとFAQ

Q: “Permission denied” で起動しない

原因: データの保存場所をローカルのフォルダ(バインドマウント)に指定した場合によく起きます。
対策: 今回紹介した volumes: n8n_data:(名前付きボリューム)形式なら、Dockerが権限を自動管理するためこのエラーは起きません。初心者は名前付きボリュームの利用を強く推奨します。

Q: バージョンを固定したい

業務利用などで勝手にアップデートされると困る場合は、image: n8n-io/n8n:1.25.0 のようにタグでバージョンを指定してください。

まとめ

Docker Composeを使えば、n8nの環境構築は「設定ファイルを置いてコマンドを叩くだけ」になります。

  • 再現性が高い: PCを変えても同じ環境がすぐ作れる。
  • 管理が楽: docker compose down で綺麗サッパリ片付けられる。
  • 安い: VPSにこのファイルを置けば、月額数百円で自分専用の自動化サーバーが完成する。

まずは手元のPCで、この快適さを体験してみてください。

参考文献・リンク

コメント

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