メインコンテンツへスキップ
Think You Lab
ブログログイン無料で始める
トップ/ブログ/how-to
n8nDocker自動化セルフホスト初心者

n8n を Docker でローカル起動する手順|docker run から docker-compose まで

n8n を Docker でローカル起動する完全手順。docker run で即起動、docker-compose.yml で永続化設定、よくあるトラブル解決まで解説。10〜15分で localhost:5678 が開けます。

2026-04-15·約12分

LINE 公式アカウント

毎月の収益とWFを公開中。LINEで受け取る

目次
  • 前提確認 — Docker が動いているか確認する
  • Docker のインストール確認
  • WSL2(Windows)での注意点
  • M1/M2 Mac でのアーキテクチャ指定
  • docker run で n8n をすぐ起動する(最速)
  • 基本コマンド
  • ブラウザで localhost:5678 を開く
  • この方法の限界
  • Docker Compose で永続化した環境を作る(推奨)
  • docker-compose.yml の全設定(コピー可)
  • .env ファイルの設定項目一覧
  • docker compose up -d で起動・バックグラウンド実行
  • データの保存場所(volume マウント先)
  • 起動確認と初期設定
  • ブラウザで管理画面を開く
  • 管理者アカウントの作成
  • タイムゾーンの設定(日本 = Asia/Tokyo)
  • THINK YOU LAB での実運用例
  • ローカルから本番 VPS への移行時に変えた設定
  • ローカル開発と本番で docker-compose.yml を使い分ける方法
  • よくあるトラブルと対処法
  • ポートが使用中(5678 競合)
  • コンテナが起動しない(ログ確認 docker logs)
  • M1 Mac で exec format error が出る
  • 次のステップ
  • FAQ

目次

  • 前提確認 — Docker が動いているか確認する
  • Docker のインストール確認
  • WSL2(Windows)での注意点
  • M1/M2 Mac でのアーキテクチャ指定
  • docker run で n8n をすぐ起動する(最速)
  • 基本コマンド
  • ブラウザで localhost:5678 を開く
  • この方法の限界
  • Docker Compose で永続化した環境を作る(推奨)
  • docker-compose.yml の全設定(コピー可)
  • .env ファイルの設定項目一覧
  • docker compose up -d で起動・バックグラウンド実行
  • データの保存場所(volume マウント先)
  • 起動確認と初期設定
  • ブラウザで管理画面を開く
  • 管理者アカウントの作成
  • タイムゾーンの設定(日本 = Asia/Tokyo)
  • THINK YOU LAB での実運用例
  • ローカルから本番 VPS への移行時に変えた設定
  • ローカル開発と本番で docker-compose.yml を使い分ける方法
  • よくあるトラブルと対処法
  • ポートが使用中(5678 競合)
  • コンテナが起動しない(ログ確認 docker logs)
  • M1 Mac で exec format error が出る
  • 次のステップ
  • FAQ

「n8n を動かしてみたいが、どのコマンドを打てばいいか分からない」

Docker は使えるのに n8n の設定手順が分からなくて詰まっている——そういう人向けの記事です。

この記事を読み終えると、ブラウザで http://localhost:5678 を開いて n8n の管理画面を確認できます。所要時間の目安は 10〜15分です。

前提条件

  • Docker または Docker Compose がインストール済みであること
  • ターミナル(Mac / Linux)または PowerShell / WSL2(Windows)を使えること

著者について: n8n をセルフホスト環境(Docker)で実際に稼働させており、n8n ワークフロー(Webhook → Slack 通知・スケジュール自動化・Claude 連携)を本番運用中です。この記事では実際の設定経験をもとに手順を解説しています。


前提確認 — Docker が動いているか確認する

Docker のインストール確認

まず Docker が正しくインストールされているか確認します。ターミナルで以下を実行してください。

docker --version
docker compose version

出力例:

Docker version 24.0.7, build afdd53b
Docker Compose version v2.23.3

バージョン番号が表示されればOKです。command not found が出る場合は Docker 公式サイト からインストールしてください。

WSL2(Windows)での注意点

Windows で Docker Desktop を使っている場合、WSL2 統合が有効になっているか確認してください。

Docker Desktop の設定 → Resources → WSL Integration で「Enable integration with my default WSL distro」をオンにします。WSL2 の Ubuntu ターミナルからも docker コマンドが使えるようになります。

PowerShell または Windows Terminal(WSL2)どちらからでも手順は同じです。

M1/M2 Mac でのアーキテクチャ指定

Apple Silicon(M1/M2/M3)の Mac では、一部の Docker イメージが linux/amd64 向けにビルドされているため、--platform フラグが必要な場合があります。n8n の公式イメージ(docker.n8n.io/n8nio/n8n)は ARM64 対応済みですが、動作しない場合は後述のコマンドに --platform linux/amd64 を追加してください。


docker run で n8n をすぐ起動する(最速)

基本コマンド

まずデータ永続化なしで「動くかどうか」を確認します。以下のコマンドを実行してください。

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

オプションの説明:

  • -it: インタラクティブモード(ログが端末に表示される)
  • --rm: コンテナ停止時に自動削除
  • --name n8n: コンテナ名を n8n に設定
  • -p 5678:5678: ホストの 5678 ポートをコンテナの 5678 ポートにマッピング

起動ログに Editor is now accessible via: http://localhost:5678 と表示されれば成功です。

ブラウザで localhost:5678 を開く

ブラウザを開いて http://localhost:5678 にアクセスしてください。n8n の初期設定画面(アカウント作成)が表示されます。

この方法の限界

--rm フラグを付けているため、コンテナを停止するとすべてのデータ(ワークフロー・設定)が消えます。動作確認ができたら、次の「Docker Compose で永続化した環境を作る」に進んでください。


Docker Compose で永続化した環境を作る(推奨)

本格的に使うには Docker Compose を使って永続化します。

docker-compose.yml の全設定(コピー可)

以下のファイルをプロジェクトの任意のフォルダに docker-compose.yml という名前で保存してください。

version: '3.8'
 
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - N8N_HOST=${N8N_HOST:-localhost}
      - N8N_PORT=5678
      - N8N_PROTOCOL=${N8N_PROTOCOL:-http}
      - NODE_ENV=production
      - WEBHOOK_URL=http://${N8N_HOST:-localhost}:5678/
      - GENERIC_TIMEZONE=Asia/Tokyo
    volumes:
      - n8n_data:/home/node/.n8n
 
volumes:
  n8n_data:

.env ファイルの設定項目一覧

同じフォルダに .env ファイルを作成して環境変数を管理します。

# n8n ホスト設定(ローカルなら localhost、VPS なら公開ドメインを設定)
N8N_HOST=localhost
N8N_PROTOCOL=http
 
# 本番 VPS の場合は以下を設定
# N8N_HOST=your-domain.com
# N8N_PROTOCOL=https

主な環境変数一覧

| 変数名 | 説明 | デフォルト | |---|---|---| | N8N_HOST | n8n にアクセスするホスト名 | localhost | | N8N_PORT | n8n のポート番号 | 5678 | | N8N_PROTOCOL | HTTP / HTTPS の選択 | http | | GENERIC_TIMEZONE | タイムゾーン設定 | UTC | | WEBHOOK_URL | Webhook のベース URL | N8N_HOST に依存 |

docker compose up -d で起動・バックグラウンド実行

docker-compose.yml があるフォルダで以下を実行します。

docker compose up -d

-d フラグでバックグラウンド実行になります。起動確認はログで行います。

docker logs n8n -f

Editor is now accessible via: の行が出れば起動成功です。

データの保存場所(volume マウント先)

docker-compose.yml の volumes 設定で n8n_data という Docker ボリュームを作成しています。

  • ワークフローデータ、認証情報、設定が /home/node/.n8n に保存されます
  • docker compose down してもボリュームは残るためデータは消えません
  • docker compose down -v を実行するとボリュームも削除されるので注意してください

起動確認と初期設定

ブラウザで管理画面を開く

ブラウザで http://localhost:5678 を開きます。初回起動時は「Set up owner account」の画面が表示されます。

管理者アカウントの作成

以下の項目を入力してアカウントを作成します。

  • First name / Last name: 任意の名前
  • Email: ログイン用メールアドレス
  • Password: ログイン用パスワード(8文字以上)

「Next」を押して進むと n8n の管理画面(Workflow 一覧)が表示されます。

タイムゾーンの設定(日本 = Asia/Tokyo)

docker-compose.yml 内で GENERIC_TIMEZONE=Asia/Tokyo を設定していますが、管理画面からも変更できます。

Settings(左サイドバー) → General → Timezone で「Tokyo」を選択してください。スケジュール実行(Cron ノード)の時刻がタイムゾーンに合わせて動作します。


THINK YOU LAB での実運用例

ローカルから本番 VPS への移行時に変えた設定

ローカル開発から本番 VPS に移行した際に変更した設定の差分です。

| 設定項目 | ローカル開発 | 本番 VPS | |---|---|---| | N8N_HOST | localhost | 公開ドメイン(例: n8n.your-domain.com) | | N8N_PROTOCOL | http | https | | WEBHOOK_URL | http://localhost:5678/ | https://n8n.your-domain.com/ | | リバースプロキシ | 不要 | nginx または Caddy で HTTPS 終端 |

ローカル開発と本番で docker-compose.yml を使い分ける方法

docker-compose.yml(共通設定)と docker-compose.override.yml(環境別設定)を分けることで、ローカルと本番の設定を管理します。

# docker-compose.override.yml(ローカル開発用)
services:
  n8n:
    environment:
      - N8N_HOST=localhost
      - N8N_PROTOCOL=http

本番では docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d のように本番用の設定ファイルを明示的に指定します。


よくあるトラブルと対処法

ポートが使用中(5678 競合)

症状: docker compose up -d を実行すると「Bind for 0.0.0.0:5678 failed: port is already allocated」が出る

対処: 5678 ポートが別のプロセスに使われています。以下で確認して止めるか、n8n のポートを変更します。

# Mac / Linux: 5678 ポートを使用しているプロセスを確認
lsof -i :5678
 
# ポートを変更する場合(docker-compose.yml の ports 設定を変更)
ports:
  - "5679:5678"  # ホスト側を 5679 に変更

コンテナが起動しない(ログ確認 docker logs)

症状: docker compose up -d の後にブラウザで http://localhost:5678 が開けない

対処: ログでエラーを確認します。

docker logs n8n
# または
docker logs n8n --tail 50

よくある原因:

  • 権限エラー(volume の所有者が node ユーザーでない): docker volume rm n8n_data で削除して再作成
  • 環境変数の書き方ミス(.env のスペースや引用符の問題)

M1 Mac で exec format error が出る

症状: コンテナ起動時に exec format error が出る

対処: docker-compose.yml に platform を追加します。

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    platform: linux/amd64  # これを追加

ただし linux/amd64 を M1 Mac でエミュレーションするため動作が遅くなります。可能なら linux/arm64 イメージの利用を検討してください(n8n 公式は ARM64 対応済み)。


次のステップ

http://localhost:5678 で n8n が起動できたら、次はワークフローを作ってみましょう。

関連記事

  • n8n と Claude AI を組み合わせた自動化ガイド
  • n8n と Make どちらがいいか?セルフホスト派が本音で比較

FAQ

Q1. Docker Compose v1(docker-compose)と v2(docker compose)どちらを使うべきですか? v2(docker compose)を推奨します。Docker Desktop には v2 が同梱されています。v1 はコミュニティによる保守のみで非推奨となっています。

Q2. データのバックアップはどうすればいいですか? n8n_data ボリュームを定期的に保存してください。docker run --rm --volumes-from n8n -v $(pwd):/backup busybox tar cvf /backup/n8n-backup.tar /home/node/.n8n でバックアップを取れます。

Q3. n8n のバージョンを更新するにはどうすればいいですか? docker compose pull && docker compose up -d を実行すると最新イメージに更新されます。更新前にデータのバックアップを必ず取ってください。

Q4. VPS(本番環境)での HTTPS 設定はどうすればいいですか? nginx または Caddy をリバースプロキシとして設置して HTTPS を終端させます。Caddy の場合は自動的に Let's Encrypt 証明書を取得します。


「セットアップできたけど最初のWFが作れない」という状況を防ぐために、n8n 入門 WF セット(JSON3本)を LINE で無料配布中です。Docker ローカル環境にそのままインポートできます。

→ n8n 入門 WF セット(JSON3本)を受け取る(LINE登録・無料)

note

n8n レシピ集

コピペで動く n8n WF テンプレート集。Docker ローカル環境ですぐ使えるWF収録

noteで読む¥2,980

LINE 公式アカウント

n8n Docker セットアップの補足Tips・docker-compose.ymlテンプレをLINEで配布中

R

Rikuto (LAB)

非エンジニアが Claude Code × n8n × Supabase で副業システムを作り続ける実験記。 失敗も含めたリアルな一次情報を発信しています。

THINK YOU LAB 運営

関連記事

  • n8n Webhook の使い方|URL 発行から Slack 通知まで実例付きで解説

    2026-04-15

  • 55本のn8nワークフローの裏側全公開 — 生きているWFと死んだWFの話

    2026-04-18

  • 55本のWFが1人で回り続ける構造とは何か — Agentic Flow Kit の全貌

    2026-04-18

← ブログ一覧へ
X でシェアLINE でシェア
← 前の記事n8n と Obsidian を連携する — RSS・Webhook からノートを自動作成する手順
次の記事 →n8n でエラーが出たときのデバッグ方法 — ログ確認・Error Trigger・Retry 設定まで解説

目次

  • 前提確認 — Docker が動いているか確認する
  • Docker のインストール確認
  • WSL2(Windows)での注意点
  • M1/M2 Mac でのアーキテクチャ指定
  • docker run で n8n をすぐ起動する(最速)
  • 基本コマンド
  • ブラウザで localhost:5678 を開く
  • この方法の限界
  • Docker Compose で永続化した環境を作る(推奨)
  • docker-compose.yml の全設定(コピー可)
  • .env ファイルの設定項目一覧
  • docker compose up -d で起動・バックグラウンド実行
  • データの保存場所(volume マウント先)
  • 起動確認と初期設定
  • ブラウザで管理画面を開く
  • 管理者アカウントの作成
  • タイムゾーンの設定(日本 = Asia/Tokyo)
  • THINK YOU LAB での実運用例
  • ローカルから本番 VPS への移行時に変えた設定
  • ローカル開発と本番で docker-compose.yml を使い分ける方法
  • よくあるトラブルと対処法
  • ポートが使用中(5678 競合)
  • コンテナが起動しない(ログ確認 docker logs)
  • M1 Mac で exec format error が出る
  • 次のステップ
  • FAQ
Think You Lab
このブログについて料金プランプライバシーポリシーお問い合わせ特定商取引法ログイン

© 2026 Think You Lab