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をローカルで動かす費用とは別に確認します。
参照した公式資料
- Dockerでのインストール
- Docker Composeでのインストール(公式の構成例は本記事の最小構成と異なります)
- npm方式と対応Node.js
- データベースの選択
資料確認日・実行確認日:2026年10月8日。

