n8nでファイルを読めない:パス・許可先・OS権限を順番に分ける
権限エラーなら、まずn8nから見えるパスと許可先を合わせます。Dockerの外にあるファイルを指定したり、複数の許可先をカンマで区切ったりすると、OS権限を広げても解決しません。
公式資料確認日:。
Dockerでは、PCのパスをそのまま渡さない
PC側の原本と、コンテナ内で見える保存先を二列に書きます。ノードで使うのはコンテナ内の絶対パスです。ホストでファイルを開けても、コンテナから見える証拠にはなりません。
先にアプリの許可先、次にファイルの権限を見る
n8n 2.0以降はN8N_RESTRICT_FILE_ACCESS_TOの既定先が~/.n8n-filesです。別フォルダを使うなら、対象版の設定を読み、必要な場所だけを指定します。複数ならセミコロン区切りです。
| 観測するもの | 分かること | 次の行動 |
|---|---|---|
| PCにファイルがある | ホスト上の存在だけ | コンテナ内の保存先と対応づける |
| コンテナ内で見える | マウントは届いている可能性 | n8nの許可先と絶対パスを照合 |
| 許可先も合っている | アプリ側の条件は候補から外せる | 実行ユーザーの読取り/書込み権限を分ける |
| Cloudで保持したい | 一時ファイルは保存先に向かない | 利用中の永続ストレージへ成果を渡す |
二つのフォルダを使う記入例
許可済みの入力を/data/in、出力を/data/outへ分ける想定なら、設定値は/data/in;/data/outです。これは構成例であり、あなたのマウントや権限を検証した結果ではありません。入力を読む処理に原本を書き換える権限まで渡す必要はありません。
アクセスを通すために全フォルダを開けない
root実行、全面的な権限変更、内部状態フォルダの保護解除を最初の解決策にしません。許可先・マウント・実行ユーザーが合うのに失敗するなら、版と非機密の最小例を残して個別の不具合調査へ止めます。
直ったら、保存結果と再作成後の残り方を確かめる
非機密ファイル一件を読み、必要なら別の試験用出力へ書きます。書込み成功だけで原本の保護や永続保存まで合格にしません。新しいSSDやVPSを買う判断は、この切り分けの後です。
公式資料と、判断例の境界
仕様の根拠は以下の公式資料です。本文の記入例は実測値ではありません。購入・設定変更時は、対象の型番・版・契約条件を照合します。
- n8n:Read/Write Files from Disk
Docker内のパスとホストのパスを区別。2.0以降の許可先既定値とCloudの一時ファイルを説明しています。
- n8n:ファイルアクセスの許可先
N8N_RESTRICT_FILE_ACCESS_TOの複数指定はセミコロン区切り。内部状態へのアクセス制限は別です。