n8nでファイルの読み書きと共有フォルダの設定方法

n8nでファイルの読み書きと共有フォルダの設定方法 n8n入門
n8nでファイルの読み書きと共有フォルダの設定方法

n8nはワークフロー自動化ツールですが、「ファイルの読み書き」ができることをご存知でしょうか。テキストファイルを読み込んで自動投稿したり、CSVデータを一括加工したり、画像やPDFを処理したり。ファイルの読み書きが使えるようになると、自動化の幅が一気に広がります。

この記事では、n8nでファイルを読み書きするための仕組みと、本格運用に必要な5つの初期設定を解説します。

この記事の対象読者

n8nの基本操作(ワークフローの作成、ノードの追加、実行)を一通り体験した方を想定しています。

まだn8nのインストールがお済みでない方は、Docker Desktopの導入手順n8nのインストールと日本語化の手順をご覧ください。日本語化とタイムゾーン設定の最小構成でn8nを起動する手順を紹介しています。

n8nインストールの前にDocker Desktopを入れる理由と手順
n8nを自分のパソコンで動かすには、いきなりn8n本体を入れるのではなく、その前にもうひとつ準備が必要です。それがDocker Desktopというツールです。「知らないツールが急に出てきた」と思われるかもしれませんが、安心してください。こ…
n8nのインストールと日本語化の手順
ノーコードで業務を自動化できるツールn8nを、自分のパソコンにインストールする手順を解説します。あわせて画面の日本語化と、日本時間(タイムゾーン)の設定も行います。Docker Desktopの準備が終わっていれば、ここからの作業は15分か…

n8nはローカルもクラウドも読み書きできる

n8nのファイル読み書き機能は、大きく2種類に分かれます。1つはあなたのパソコン内にあるフォルダを使う「ローカルファイル連携」、もう1つはオンラインのクラウドストレージを使う「クラウド連携」です。

ローカルファイル連携は、Windowsの特定のフォルダとn8nを直結させる仕組みです。設定さえすれば認証作業は不要で、すぐに使い始められます。動作も速く、大量のファイルを一括処理するのに向いています。

クラウド連携では、Googleドライブ、Dropbox、OneDrive、Box、Notionなど、主要なクラウドサービスと接続できます。普段お使いのサービスと連携できる可能性が高いです。ただし、それぞれのサービスごとに認証作業(OAuth認証)が必要になります。

どちらにも長所がありますが、まずは認証作業がいらない「ローカルファイル連携」から始めるのが一番スムーズです。慣れてきたらクラウド連携に挑戦するのが良い流れになります。

ローカルファイル連携で何ができるのか

ローカル連携を設定すると、n8nがあなたのパソコン内のフォルダにアクセスできるようになります。具体的には次のようなことが可能です。

テキストファイルを読み込んで内容をWordPressに自動投稿する、CSVデータを読み込んで一括で加工する、画像ファイルを取り込んで自動処理する、AIが生成したテキストをファイルとして保存する、複数のファイルをまとめて処理する。アイデア次第でさまざまな自動化が組めます。

これらを実現するには、Dockerの「共有フォルダ」という機能を使います。次の章で詳しく見ていきましょう。

共有フォルダとは

n8nのコンテナは独立した「箱」のようなもので、Windowsのフォルダとは切り離されています。このままでは、Windowsに保存されているファイルをn8nから読み込んだり、処理結果をWindowsに保存したりできません。

そこで「共有フォルダ」を設定します。Windowsの任意の場所にフォルダを1つ作り、そのフォルダをn8nコンテナと共有する仕組みです。これでWindowsとn8nの間でファイルのやり取りができるようになります。

なぜコンテナを「追加する」のか

Dockerでn8nを動かしている場合、共有フォルダのような設定を変えるには、新しいコンテナを追加する必要があります。普通のソフトのように設定画面から変更することはできません。

これはDocker特有の仕様です。普通のソフトはアプリ本体に設定が含まれていて、設定画面から自由に変更できます。一方Dockerは、本体・設定・データを分離する設計思想を持っています。設定を変えたいときは、新しい設定値を持ったコンテナを別途追加する形になります。

ただし安心してください。これまでに作ったワークフローやアカウント情報、ライセンスキーは、新しいコンテナでもそのまま引き継げます。これらのデータは「n8n_data」というボリュームに保存されており、コンテナとは独立して管理されているためです。

今回は既存のコンテナを削除せず、新しいコンテナを追加する方法を取ります。古いコンテナを残しておけば、何か問題があったときにすぐ戻せて安心です。なお、同じデータを共有しているコンテナは同時に起動できないため、「コンテナは複数追加してもOK、起動は1つだけ」という運用になります。

この記事では、新しく追加するコンテナの名前を「n8n-v2」とします。既存のコンテナ名「n8n」と区別するためです。3つ目以降を追加するときは「n8n-v3」「n8n-v4」と数字を増やしていけば管理しやすくなります。

揃えておきたい5つの初期設定

新しいコンテナを追加するこのタイミングで、共有フォルダ以外にも必要な設定をまとめて入れておきましょう。後から追加するともう一度コンテナを増やす手間が発生するからです。

今回入れる設定は次の5つです。1つ目はタイムゾーン(Asia/Tokyo)、2つ目は画面の日本語化、3つ目が共有フォルダ、4つ目はタイムアウト時間の延長、5つ目はペイロードサイズの拡張です。

タイムゾーンと日本語化は前回の記事で説明したので、今回は3〜5を中心に解説します。

設定3:共有フォルダ

すでに説明したとおり、Windowsの特定のフォルダとn8nコンテナを連動させる設定です。これによりn8nがファイルの読み書きをできるようになります。

設定4:タイムアウト時間の延長

n8nには「ワークフローの実行時間に上限を設ける」機能があります。デフォルトでは無制限ですが、AIとの連携や大量データ処理を行うと、想定外の長時間処理が発生することがあります。

特にChatGPTやClaudeなどのAI APIは、応答に時間がかかることがあり、その間ワークフローが止まったように見えます。タイムアウト時間を明示的に設定しておくと、無限ループや暴走を防げます。

今回は通常のタイムアウトを30分(1800秒)、最大タイムアウトを60分(3600秒)に設定します。通常は30分で打ち切られますが、ワークフロー側で個別に指定すれば最大60分まで延長できる仕組みです。AI APIへの大量問い合わせ、複数サイトのスクレイピング、大容量ファイルの加工処理などで役立ちます。

設定5:ペイロードサイズの拡張

ペイロードとは、1回のやりとりで送受信できるデータの最大サイズのことです。n8nのデフォルトは16MBに設定されています。

テキストデータだけなら16MBでも十分ですが、画像・PDF・長文テキストを扱うと、すぐに上限に達してしまいます。今回は100MB(デフォルトの約6倍)に拡張します。これくらいあれば、スマホで撮影した画像、PDFファイル、長文の記事データ、複数画像の一括処理なども無理なく扱えます。

なお、ペイロードの設定を無制限にしない理由ですが、サイズを大きくしすぎるとメモリ消費が増えてパソコンが重くなる可能性があるためです。100MBは「画像やPDFを快適に扱える最低限のサイズ」として設定しています。

共有フォルダの準備

新しいコンテナを追加する前に、共有用のフォルダを1つ用意しておきます。Windows上の任意の場所に「n8n」という名前のフォルダを作ってください。

この記事では、ユーザーフォルダの直下に作ったものとして説明を進めます。たとえば「C:\Users\ユーザー名\n8n」のような場所です。フォルダ名や場所は自由ですが、後から変更すると新しいコンテナの追加が必要になるので、長く使う前提で決めておきましょう。

実際の手順

ここから新しいコンテナを追加していきます。所要時間は10〜15分です。なお、既存のコンテナは削除せず、停止状態で残しておきます。

手順1:既存コンテナを停止する

Docker Desktopを起動して、Containers画面を表示します。

Docker Desktopのコンテナ一覧画面、Terminalボタンを赤枠で囲んだ画像
Docker Desktopのコンテナ一覧画面

既存のn8nコンテナが起動中であれば、停止ボタン(■)をクリックして停止してください。停止状態(○印)になっていれば、削除する必要はありません。

画面右下の「Terminal」をクリックしてターミナルを開きます。

Terminalが開いた状態の画面
Terminalが開いた状態

手順2:新コンテナを起動する

ターミナルに以下のコマンドを貼り付けてEnterキーを押します。「ユーザー名」の部分は、あなたが共有フォルダを作った場所のパスに置き換えてください。

docker run -d --name n8n-v2 -p 5678:5678 -v n8n_data:/home/node/.n8n -v C:\Users\ユーザー名\n8n:/files -e N8N_DEFAULT_LOCALE=ja -e GENERIC_TIMEZONE=Asia/Tokyo -e EXECUTIONS_TIMEOUT=1800 -e EXECUTIONS_TIMEOUT_MAX=3600 -e N8N_PAYLOAD_SIZE_MAX=100 docker.n8n.io/n8nio/n8n:2.17.3
docker runコマンドを貼り付けた画面
docker runコマンドを貼り付けた画面

長くて複雑に見えますが、内容は5つの設定を一行にまとめただけです。

コマンドの中身を分解すると次のようになります。

  • –name n8n-v2:新コンテナの名前
  • -p 5678:5678:ポート番号
  • -v n8n_data:/home/node/.n8n:n8nデータの引き継ぎ
  • -v C:\Users\ユーザー名\n8n:/files:共有フォルダ
  • -e N8N_DEFAULT_LOCALE=ja:日本語化
  • -e GENERIC_TIMEZONE=Asia/Tokyo:タイムゾーン
  • -e EXECUTIONS_TIMEOUT=1800:タイムアウト30分
  • -e EXECUTIONS_TIMEOUT_MAX=3600:最大60分
  • -e N8N_PAYLOAD_SIZE_MAX=100:ペイロード100MB

長い文字列(コンテナID)が表示されれば成功です。Containers画面に戻ると、新しい「n8n-v2」が緑の丸印で起動中になっています。

n8nとn8n-v2が並んでいる画面
n8n(停止)とn8n-v2(起動中)が並んでいる状態

手順3:日本語化ファイルを適用する

新コンテナには日本語化ファイルが入っていないため、再度適用します。ターミナルに以下のコマンドを貼り付けてEnterキーを押してください。

docker exec -u root n8n-v2 sh -c "cd /tmp && wget -O editor-ui.tar.gz https://github.com/Tomatio13/n8n-i18n-japanese/releases/download/n8n%402.16.0/editor-ui.tar.gz && tar xzf editor-ui.tar.gz --strip-components=1 -C /usr/local/lib/node_modules/n8n/node_modules/n8n-editor-ui/dist/ && rm editor-ui.tar.gz"
日本語化コマンドを貼り付けた画面
日本語化コマンドを貼り付けた画面

ダウンロードが進行し、100%になって「editor-ui.tar.gz saved」と表示されれば成功です。

100%完了してsavedと表示された画面
100%完了して「saved」と表示された画面

手順4:n8n-v2を再起動する

日本語化を反映するために再起動します。

docker restart n8n-v2
docker restartコマンドを実行する画面
docker restartコマンドを実行する画面

「n8n-v2」と表示されれば成功です。

再起動完了の画面
再起動完了の画面

手順5:ブラウザで確認する

ブラウザで以下のアドレスにアクセスします。

http://localhost:5678

メニューが日本語表示になっていて、これまでにワークフローを作った方は、作ったワークフローがすべて残っていることを確認してください。

n8nの概要画面、日本語表示で既存ワークフローが残っている状態
n8nの概要画面、日本語表示で既存ワークフローが残っている状態

共有フォルダの動作確認

設定が正しく機能しているか、簡単にテストしてみましょう。

エクスプローラーで先ほど作った共有フォルダを開いて、「test.txt」というファイルを作成してください。中身は何でも構いません。ここでは「C:\Users\ユーザー名\n8n」でn8nフォルダ内に「test.txt」を作成します。ファイル内に書く文章は何でも構いません。

次に、Docker DesktopのTerminalに以下のコマンドを貼り付けてEnterキーを押します。

docker exec n8n-v2 ls /files
lsコマンドを実行する画面
lsコマンドを実行する画面

実行結果に「test.txt」が表示されれば、共有フォルダは正しく機能しています。

test.txtを含むファイル一覧が表示された画面
test.txtを含むファイル一覧が表示された画面

ファイル読み書きで広がる活用例

共有フォルダの設定が完了すると、n8nの自動化の幅が一気に広がります。代表的な活用例をいくつか紹介します。

1つ目は、テキストファイルからWordPressへの自動投稿です。記事原稿を共有フォルダに置いておくだけで、n8nが自動的に読み込んでWordPressに下書き投稿してくれます。用語集のような大量の記事を一括投稿するときに威力を発揮します。

2つ目は、CSVデータの一括加工です。お問い合わせフォームの集計データや顧客リストを読み込み、加工して別の形式で書き出すといった処理が自動化できます。

3つ目は、画像ファイルの自動処理です。指定フォルダに画像を置けば、n8nが自動でリサイズや形式変換を行い、別のフォルダに保存してくれます。

4つ目は、AIが生成したテキストのファイル保存です。ChatGPTやClaudeのAPIで生成した文章を、自動的にファイルとして保存しておけば、後から確認や再利用が簡単になります。

なお、冒頭で紹介したGoogleドライブ、Dropbox、OneDrive、Box、Notionといったクラウドサービスも、それぞれのノードで認証すれば同じように扱えます。クラウドとローカルを組み合わせれば、たとえば「Googleドライブにアップロードされたファイルを読み込んでローカルで処理し、結果をDropboxに保存する」といった連携も可能になります。

古いコンテナをどうするか

古いコンテナは、しばらく残しておくことをおすすめします。新コンテナで問題が起きたときにすぐ戻せますし、操作の練習や実験にも使えます。容量も数百MB程度なので、保管しておいても大きな負担にはなりません。完全に新コンテナへの移行が確認できてから削除する流れが安全です。

なお、今後Docker Desktopやパソコンを再起動した後にn8nを使うときは、必ず「n8n-v2」だけを起動してください。古い「n8n」コンテナと同時に起動することはできません。同じデータボリュームを共有しているため、データの競合を防ぐ仕組みでブロックされます。Docker DesktopのContainers画面で、n8n-v2の▶(再生)ボタンをクリックして起動する形になります。

よくある質問

Q. コンテナを2つ同時に起動できますか?
A. 同じデータボリューム(n8n_data)を共有している場合は同時起動できません。データの競合を防ぐためです。別のデータボリュームを使えば同時起動も可能ですが、ワークフローやアカウントは別物になります。

Q. 設定値を後から変えたくなったらどうしますか?
A. もう一つ新しいコンテナを追加します。「n8n-v3」という名前で作る形になります。これがDocker特有の運用です。最初に十分な設定を入れておくのがコツです。

Q. ライセンスキーはどうなりますか?
A. n8n_dataに保存されているため、新しいコンテナを追加しても引き継がれます。再登録は不要です。

Q. 共有フォルダのパスは変更できますか?
A. お好みのフォルダで構いません。ただし、パスを変更するたびに新しいコンテナの追加が必要です。最初に決めたパスを長く使う前提で設定しましょう。

Q. クラウドサービスはどう設定しますか?
A. n8nの画面で各サービスのノードを追加し、認証情報を登録します。共有フォルダの設定とは別の作業になります。詳しい手順は今後の記事で解説する予定です。

まとめ

n8nでファイルを読み書きするための仕組みと、本格運用に必要な5つの初期設定を紹介しました。

ローカルファイル連携を実現するDockerの「共有フォルダ」を中心に、タイムアウトやペイロードサイズなど、本格運用で必要な設定をまとめて入れる手順を解説しました。一度設定しておけば、テキストファイルからの自動投稿、CSVの一括加工、画像処理、AI連携など、さまざまな自動化が可能になります。

慣れてきたら、Googleドライブ、Dropbox、OneDrive、Box、Notionといったクラウドサービスとの連携にも挑戦してみてください。ローカルとクラウドを組み合わせることで、自動化の可能性はさらに広がります。

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