n8n とは?
About n8n
n8n(エヌエイトエヌ) はオープンソースのワークフロー自動化ツールです。ノーコード/ローコードで多数のサービスをつなぎ、個人や業務の自動化タスクを作れます。メール・Slack・Google スプレッドシート・Webhook などさまざまなトリガーやアクションが用意されています。

n8n(エヌエイトエヌ) はオープンソースのワークフロー自動化ツールです。ノーコード/ローコードで多数のサービスをつなぎ、個人や業務の自動化タスクを作れます。メール・Slack・Google スプレッドシート・Webhook などさまざまなトリガーやアクションが用意されています。

sudo apt update && sudo apt upgrade -y
まずはシステムを最新にします。セキュリティ更新も含めて行ってください。
sudo apt install -y curl build-essential docker-compose
`docker-compose` は環境によっては不要(Docker Compose V2 があれば `docker compose` を使用)ですが、互換性のために入れておくのは問題ありません。
curl -fsSL https://get.docker.com | sh
sudo usermod -aG docker $USER
# 変更を反映するために再ログイン or このターミナルだけ反映:
newgrp docker
`newgrp docker` を使えばログアウトせずにグループを反映できます。
mkdir -p ~/n8n-docker
cd ~/n8n-docker
作業用ディレクトリを作っておくと管理が楽になります。
version: "3.9"
services:
n8n:
image: n8nio/n8n:1.33.1
platform: linux/arm64/v8
restart: always
ports:
- "5678:5678"
environment:
- GENERIC_TIMEZONE=Asia/Tokyo
- TZ=Asia/Tokyo
- N8N_BASIC_AUTH_ACTIVE=true
- N8N_BASIC_AUTH_USER=user_name
- N8N_BASIC_AUTH_PASSWORD=*******
- WEBHOOK_URL=http://n8n.local
- N8N_HOST=n8n.local
- N8N_PORT=5678
- N8N_PROTOCOL=http
- N8N_SECURE_COOKIE=false
volumes:
- ./n8n_data:/home/node/.n8n
注意: YAML 内のパスワード等は公開しないでください。開発環境では N8N_SECURE_COOKIE=false を使って HTTP で動作確認できますが、本番ではプロキシで HTTPS 化することを推奨します。
Proxy サーバーが外向けの TLS/SSL を管理している場合、n8n 側はローカル URL を使うのが自然です。Proxy が HTTPS 化を行ったら、外部からは安全にアクセスできます。
sudo mkdir -p ~/n8n-docker/n8n_data
sudo chown -R $(id -u):$(id -g) ~/n8n-docker/n8n_data
chmod 755 ~/n8n-docker/n8n_data
コンテナ内の node ユーザー(UID 1000)が書き込めるようにしておきます。
docker compose up -d
docker ps
docker compose logs -f
`docker compose`(スペース有り)は Compose v2 のコマンドです。もし古い `docker-compose` を使っている場合は環境に合わせてください。
ブラウザで以下にアクセス:
http://<ラズパイのIP>:5678
例: http://192.168.0.201:5678
初回はオーナーアカウント作成画面が出るので、管理者アカウントを作成してください。
よくあるミス:
http://n8n.local とだけブラウザに入れて「つながらない」と慌てるケース。
正しくはポート 5678 を指定: http://n8n.local:5678
もし 80 番(ポートなし)でアクセスしたい場合は、リバースプロキシ(nginx/Caddy)で 80→5678 を転送してください。
エラー例:
QueryFailedError: SQLITE_ERROR: no such column: WorkflowEntity__WorkflowEntity_shared.userId
古いデータベースと n8n のバージョン差異で発生します。対応策は下記の通り:
docker compose down -v
sudo rm -rf ~/n8n-docker/n8n_data
docker compose up -d
環境変数例:
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=user_name
N8N_BASIC_AUTH_PASSWORD=user_password
Basic Auth を有効にすると、ブラウザ側で HTTP レベルの認証ポップアップが出ます。初回セットアップ中は Basic Auth を無効化する(N8N_BASIC_AUTH_ACTIVE=false)と手間が少ないです。ただし公開運用時は必ず有効化してください。
エラー: "Your n8n server is configured to use a secure cookie..."
原因は HTTPS ではないのにセキュアクッキーが有効になっていること。対処法:
N8N_SECURE_COOKIE=false を設定して一時的に回避💡 補足として、万が一に備えて「バックアップと復元の方法」についても触れておきます。
# コンテナを停止(推奨)
cd ~/n8n-docker
docker compose down
# 日付付きバックアップ
mkdir -p ~/n8n-backup/$(date +%Y%m%d)
cp -r ~/n8n-docker/n8n_data ~/n8n-backup/$(date +%Y%m%d)
SQLite の場合は稼働中のファイルコピーは危険なので、停止してからバックアップしてください。
# 現在の n8n を停止
cd ~/n8n-docker
docker compose down
# 現在のデータを置き換え
sudo rm -rf ~/n8n-docker/n8n_data
cp -r ~/n8n-backup/20250918/n8n_data ~/n8n-docker/
sudo chown -R 1000:1000 ~/n8n-docker/n8n_data
# コンテナ起動
docker compose up -d
日付は適宜読み替えてください。
この記事では、Raspberry Pi に n8n をインストールし、Webhook、Basic Auth、再起動自動化、バックアップ・復元、よくあるトラブルとその対応までを解説しました。まずはローカルで安定稼働させ、必要ならプロキシ/TLS を導入して外部公開を検討してください。
EC業界システムエンジニア。
アパレルECを9年経験後、
現在は木の玩具、家具ECへ。
世界販売に向けて挑戦中。
感じたことをつぶやきます。
趣味は、珈琲、キャンプ。