feat: add n8n Helm chart for Kubernetes on Raspberry Pi (ARM64)
Helm Chart Release / release-chart (push) Successful in 4s

- n8nio/n8n 2.19.2 (multi-arch, linux/arm64 ready)
- Single-container deployment with persistent storage
- SQLite default / PostgreSQL option
- Basic auth, encryption key via Secret
- Ingress, HPA, PDB, NetworkPolicy support
- Gitea CI: weekly auto-update + release workflow

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-02 09:37:35 +09:00
parent 4490781aec
commit 0b6b542f77
15 changed files with 1006 additions and 0 deletions
+73
View File
@@ -0,0 +1,73 @@
# n8n Helm Chart - CLAUDE.md
## リポジトリ概要
n8n ワークフロー自動化ツールを Kubernetes 上にデプロイするHelmチャートです。
Raspberry Pi などのベアメタル上で動作する Kubernetes クラスタを想定した構成になっています。
`n8nio/n8n` 公式マルチアーキテクチャイメージ(linux/arm64 対応)を使用します。
## ARM 対応について
`n8nio/n8n` は linux/arm64 に対応したマルチアーキテクチャイメージです。
Raspberry Pi 4 以降(arm64)で動作します。
## Git 情報
- **ユーザー名**: Claude
- **メールアドレス**: claude@cafepieters.com
- **リポジトリ**: ssh://git@192.168.9.65/helmchart/n8n.git
## チャート構成
| リソース | 説明 |
|---|---|
| Deployment | n8n 本体(シングルコンテナ) |
| Service | LoadBalancer / ClusterIP(ポート 5678 |
| PVC | n8n データ(ワークフロー・認証情報・SQLite DB)永続化 |
| Secret | 暗号化キー・Basic認証パスワード・DBパスワード |
| Ingress | オプション(nginx ingress controller 対応) |
| HPA | オプション(※SQLiteモード時はスケールアウト非推奨) |
| PDB | Pod Disruption Budget |
| NetworkPolicy | オプション |
## データ永続化
n8n のデータは `/home/node/.n8n` に保存されます。
`persistence.enabled: true`(デフォルト)で PVC に永続化されます。
**persistence.enabled: false の場合、Pod 再起動でデータが失われます。**
## データベース
- デフォルト: SQLite`/home/node/.n8n/database.sqlite`
- 本番推奨: PostgreSQL`n8n.database.type: postgresdb`
## リリースフローのルール
### バージョン番号の方針
- Helmチャートのバージョン番号(`Chart.yaml``version` / `appVersion`)は、**n8n のバージョン番号と同一**とする。
### 自動リリース条件
- **n8n バージョン更新時**: `values.yaml``Chart.yaml` を更新し、Gitタグ・Giteaリリース・Gitea Package Registry への発行まで行う。
### 手動リリース(臨時)
- 改修作業などで手動リリースが必要な場合は、バージョン末尾にアルファベットを付与する。
- 例: `2.19.2``2.19.2-a`, `2.19.2-b`
## ワークフロー構成
### `.gitea/workflows/image-update-and-release.yaml`
毎週月曜日 3:00 AMJST 12:00 PM)に自動実行され、以下を行う:
1. Docker Hub から n8n の最新バージョンを取得
2. 更新がある場合は `values.yaml``Chart.yaml` を更新
3. Gitタグ・Giteaリリース・Gitea Package Registry への発行を実施
### `.gitea/workflows/helm-release.yaml`
`main` ブランチへのプッシュ時に自動実行。Gitea Package Registry にチャートを発行する。
## 必要な Gitea Secrets
| シークレット名 | 用途 |
|---|---|
| `GITEA_TOKEN` | Gitea API(リリース作成・タグ操作) |
| `REGISTRY_USER` | Gitea Package Registry ユーザー名 |
| `REGISTRY_TOKEN` | Gitea Package Registry トークン |