Macでn8nを動かす:Docker Composeで起動・保存・再起動を確認する手順

n8n

1. Macでn8nを試す:この記事で確認できること

n8nは、処理をノードとしてつなぎ、データの受け渡しや外部サービスとの連携を組み立てるツールです。この記事では、Mac上にDocker Composeで学習用のn8nを起動し、初期画面・停止・再起動・データの保存先まで確認します。

2026年10月8日更新。旧版のHomebrew・npm中心の手順を、今回実行確認したDocker構成に更新しました。公式資料ではnpm方式はn8n 3.0から非推奨と案内されています。ここでは動作を再現しやすいよう、検証した2.42.4を指定します。今後もこの版を使い続けることを推奨するものではありません。

この構成は自分のMacで試す最小構成です。AI Assistant用のsandboxや外部公開用のHTTPS設定は含みません。サーバー運用を任せたい場合は、公式のn8n Cloudとセルフホストの違いも確認してください。

2. 準備と今回の検証環境

Macには公式手順に沿ってDocker Desktopを導入し、起動しておきます。初回は利用条件を確認してください。Dockerの中でn8nを動かすので、この記事の手順のためにMac側へNode.jsを追加する必要はありません。

今回確認した環境は、macOS 26.6.2 / Apple Silicon(arm64)、Docker Engine 29.7.2、Docker Compose v5.4.0、n8n 2.42.4です。OSやDockerの版が異なる環境、外部サービスとの接続は未検証です。

docker version
docker compose version

docker versionでClientだけでなくServerの情報が出るか確認します。「Cannot connect to the Docker daemon」と出る場合は、Docker Desktopが起動しているかを確認してください。初回のイメージ取得には通信が必要です。

3. 保存先を持つComposeファイルを作る

ターミナルで専用フォルダを作成します。この後のコマンドは、そのフォルダ内で実行します。

mkdir -p n8n-local
cd n8n-local

テキストエディタで、このフォルダにcompose.yamlを作り、以下を保存します。拡張子が.txtになっていないか確認してください。

services:
  n8n:
    image: n8nio/n8n:2.42.4
    ports:
      - "127.0.0.1:5679:5678"
    environment:
      TZ: Asia/Tokyo
      GENERIC_TIMEZONE: Asia/Tokyo
      N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS: "true"
    volumes:
      - n8n_data:/home/node/.n8n
volumes:
  n8n_data:

127.0.0.1:5679はMac自身からアクセスする入口、末尾の5678はコンテナ内のポートです。既存の5678番ポートとの競合を避けるため、この記事では入口を5679にしています。

n8n_dataはDockerの名前付きボリュームです。コンテナ内の/home/node/.n8nに対応し、標準構成のSQLiteデータベースや暗号化キーなどを保持します。コンテナだけを作り直しても同じボリュームを使えば保存先を引き継げます。フォルダ名やComposeのプロジェクト名を変えると別のボリュームになる場合があります。

4. 起動と初期画面を確認する

docker compose up -d
docker compose ps
docker compose logs --tail 30

up -dはバックグラウンド起動です。初回はイメージのダウンロードと初期化を待ちます。起動ログにバージョンとエディタの案内が出たら、ブラウザでhttp://127.0.0.1:5679を開きます。ログに出る5678はコンテナ側の値なので、この記事の構成では5679を使ってください。

今回の検証では、「Set up owner account」画面が表示され、Email、First Name、Last Name、Passwordの入力欄を確認しました。初めて使う場合は、自分で管理する情報を入力して初期設定を進めます。この記事の実測範囲は、この画面の表示までです。アカウント作成後のワークフロー実行や外部API連携の完了を示すものではありません。

起動状態は、次のコマンドでも確認できます。

curl -fsS http://127.0.0.1:5679/healthz

今回の応答は{"status":"ok"}でした。これはサーバーの応答確認であり、各ワークフローの正常動作を保証するものではありません。

5. 停止・再起動・困ったときの確認

一時停止と再開は、同じフォルダで次のように行います。

docker compose stop
docker compose start

コンテナを取り除いて作り直す場合も、通常のdownなら名前付きボリュームは残ります。

docker compose down
docker compose up -d

今回の検証では、保存先に確認用の小さなテキストファイルを書き込み、down→up -d後も同じ内容を読み取れることと、healthzが正常応答することを確認しました。ワークフローや認証情報の復元試験は行っていません。

down -vはボリュームも削除するため、データを残したい場合は付けないでください。ボリュームが残ることとバックアップがあることは別です。更新や移行の前には、データベース・暗号化キーなど必要なデータを公式のバックアップ手順に沿って保管します。

症状確認すること
Dockerに接続できないDocker Desktopの起動と、docker versionのServer欄を確認します。
ブラウザで開かないdocker compose psとlogsを確認し、URLが127.0.0.1:5679か確かめます。初期化中は少し待って再度確認します。
ポートが使用中と出る別のアプリが5679を使用していないか確認します。変更する場合はComposeの入口側だけを5680などに変え、ブラウザのURLも合わせます。
再起動後に初期画面へ戻る別フォルダや別プロジェクトとして起動していないか、元のボリュームがあるかを確認します。原因が分かる前にボリュームを削除しないでください。

この設定ではMacを終了・スリープすると処理が止まる可能性があります。常時稼働や公開Webhookの用途には別の運用設計が必要です。また、外部APIを呼ぶ場合の利用料や接続先の条件は、n8nをローカルで動かす費用とは別に確認します。

参照した公式資料

資料確認日・実行確認日:2026年10月8日。

PR

生成AIを体系的に学びたい方へ

「DMM 生成AI CAMP 学び放題」は、ChatGPTなどの生成AIを学べる月額制のオンライン学習サービスです。仕事への活用に向けて継続的に学びたい方は、公式サイトでコース内容や入会条件をご確認ください。

DMM 生成AI CAMP 学び放題

リンク先は公式サイトです。

n8n
Takuyaをフォローする