0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Raspberry Pi OS Lite (64-bit) で n8n を Docker で動かす手順

0
Posted at

Raspberry Pi に Raspberry Pi OS Lite (64-bit) をインストールし、Docker 上で n8n を起動するまでの手順をまとめます。
同じLAN内の端末から SSH 接続できるところまでできている前提です。


実行環境

今回の構成例は以下です。

  • 本体: Raspberry Pi3 Model B (RS Components)
  • microSD: KIOXIA 32GB UHS-I Class10
  • OS: Raspberry Pi OS Lite (64-bit)
  • 接続方法: 同一LAN内の別端末から SSH
  • コンテナ実行環境: Docker Engine
  • コンテナ管理: Docker Compose Plugin
  • アプリケーション: n8n
  • タイムゾーン: Asia/Tokyo

※ Raspberry Pi の機種差やOSバージョン差で細かい挙動が変わる可能性はありますが、基本的な流れは同じです。

前提条件

SDカードへ Raspberry Pi OS Lite (64-bit) を書き込む際に、以下の設定を入れておきます。

  • Hostname: 自分で決めたもの
  • User: 自分で決めたもの
  • Password: 自分で決めたもの
  • SSH: 有効
  • Wi-Fi: 必要なら設定
  • Timezone: Asia/Tokyo

同じLAN内の端末から、以下のように接続できれば準備完了です。

ssh User@Hostname

n8n を Docker で動かす

SSH で入れたら、次はこの3段階です。
1. OSを更新する
2. Dockerを入れる
3. n8nを起動する

余計な説明は抜きで、そのまま順番に進めます。

1. まずOSを更新する

ラズパイ側で以下を実行します。

sudo apt update
sudo apt full-upgrade -y
sudo reboot

再起動したら、Macなどからもう一度 SSH で入り直します。

ssh admin_n8n@n8npi.local

2. Docker 用の古い設定を消す

前回の残骸があると邪魔なので、先に掃除します。

sudo rm -f /etc/apt/sources.list.d/docker.list
sudo rm -f /etc/apt/sources.list.d/docker.sources
sudo apt update

3. Docker の準備

以下を上から順に実行します。

sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/debian/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

4. Docker のリポジトリを追加する

以下を実行して、Docker 用のリポジトリ設定を追加します。

sudo tee /etc/apt/sources.list.d/docker.sources <<EOF
Types: deb
URIs: https://download.docker.com/linux/debian
Suites: trixie
Components: stable
Signed-By: /etc/apt/keyrings/docker.asc
EOF

5. Docker をインストールする

sudo apt update
sudo apt install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

6. Docker が動くか確認する

sudo docker run hello-world

Hello from Docker! が出れば成功です。

7. 自分のユーザーで docker を使えるようにする

毎回 sudo を付けるのは面倒なので、自分のユーザーを docker グループに追加します。

sudo usermod -aG docker $USER
newgrp docker

確認:

docker run hello-world

ここでも Hello from Docker! が出ればOKです。

8. n8n 用フォルダを作る

mkdir -p ~/n8n
cd ~/n8n
mkdir -p n8n_data

9. docker-compose.yml を作る

まずファイルを作成します。

nano docker-compose.yml

開いたら、以下をそのまま貼り付けます。

docker-compose.yml
services:
  n8n:
    image: docker.n8n.io/n8nio/n8n:latest
    container_name: n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    environment:
      - TZ=Asia/Tokyo
      - N8N_HOST=0.0.0.0
      - N8N_PORT=5678
      - N8N_PROTOCOL=http
      - N8N_SECURE_COOKIE=false
    volumes:
      - ./n8n_data:/home/node/.n8n

保存方法は以下です。
• Ctrl + O
• Enter
• Ctrl + X

10. n8n を起動する

docker compose up -d

確認:

docker compose ps
docker compose logs --tail=50

11. ラズパイのIPアドレスを確認する

hostname -I

たとえば 192.168.1.26 が出たら、Mac のブラウザで以下を開きます。
http://192.168.1.26:5678

n8n の初期画面が出れば成功です。

番外編: ラズベリーパイを再起動したら自動で Docker を起動させる方法

結論から言うと、できます。しかも今回の構成だと、かなり既にできています。

docker-compose.yml に以下が入っています。

docker-compose.yml
restart: unless-stopped

これがあるので、Dockerサービス自体が起動すれば、n8nコンテナも自動で再起動します。

つまり必要なのは次の2段階です。
1. ラズパイ起動時に Docker が自動起動すること
2. Docker 起動後に n8n コンテナが自動復帰すること

このうち 2 はすでに restart: unless-stopped で対応済み です。
なので今確認すべきは、Docker サービスが自動起動設定になっているか です。

Docker の自動起動設定を確認する

SSH でラズパイに入って、以下を実行します。

sudo systemctl is-enabled docker

結果の見方

  • enabled → OK
  • disabled → 自動起動していない

Docker の自動起動を有効化する

もし disabled なら、以下を実行します。

sudo systemctl enable docker
sudo systemctl start docker

念のため状態確認する

sudo systemctl status docker --no-pager

active (running) ならOKです。

実際に再起動して確認する

sudo reboot

ラズパイ再起動後、少し待ってから Mac で以下にアクセスします。
http://192.168.1.26:5678

または SSH で入って確認します。

docker ps

n8n コンテナが Up になっていれば成功です。

補足

今の構成なら、毎回 docker compose up -d を手で打つ必要はありません。
一度コンテナを作って restart: unless-stopped にしておけば、Docker が起動した時に自動で戻ってきます。

ただし、過去に自分で以下を実行した場合は別です。

docker compose down

down は単なる停止ではなく、コンテナ自体を削除する動作です。
この場合は再度、以下の実行が必要です。

docker compose up -d

まとめ

Raspberry Pi OS Lite (64-bit) を使えば、Raspberry Pi 上で n8n をシンプルに動かせます。
Docker と docker compose を使えば、構成も分かりやすく、再起動時の自動復帰も簡単です。

特に再起動後の自動復帰については、以下だけ確認しておけばかなり安心です。

sudo systemctl is-enabled docker

enabled ならOKです。

Qiita向けとしては、次にやるなら `タグ候補``冒頭の一文` も付けた版にすると公開しやすいです。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?