コミュニティソリューション

永続状態付きでCasaOSまたはZimaOSにn8nをインストール

A 2023 CasaOS tutorial walked through getting a working n8n container running on a home server.

要点:n8nに必要なのは複雑なインストールより、永続状態と安定した公開URL

以前のCasaOSチュートリアルでは、n8nをコンテナとして実行できることを紹介していました。現在のセルフホスト環境では、次の4点に重点を置いてください。n8nデータの永続化、安定したホスト名、Webhook用のHTTPS、そして実行履歴を保存するのに十分なストレージです。これらは、以前のワンクリックパッケージよりはるかに重要です。

まずは永続化された単一コンテナ構成から始める

services:
  n8n:
    image: docker.n8n.io/n8nio/n8n
    restart: unless-stopped
    ports:
      - "5678:5678"
    volumes:
      - /path/to/n8n:/home/node/.n8n
    environment:
      - TZ=UTC

公式のn8nリポジトリがソースプロジェクトです。Dockerのボリュームに関するドキュメントでは、アプリケーションの状態をコンテナレイヤーだけに保存すべきでない理由を説明しています。

n8nのデータディレクトリを永続化されたSSDストレージに置く

認証情報、ワークフロー、暗号化状態、実行メタデータは、コンテナを再作成しても保持される必要があります。永続化されたn8nディレクトリを失い、アプリケーションを考慮したバックアップもない場合、コンテナを再作成しても自動化システムは復元されません。

n8nハードウェアガイドでは、実行履歴や同居するデータベースが重要になり始める段階について説明しています。

Webhookには、ユーザーが実際にアクセスするURLが必要

n8nをリバースプロキシの背後に配置する場合、外部のHTTPSホスト名は、n8nが通知するWebhook URLと一致していなければなりません。そうしないと、エディターは動作していても、受信Webhookが誤ったホスト、スキーム、ポートを指す可能性があります。

ワークフロー基盤が成長したらPostgreSQLを使う

小規模な個人環境なら、シンプルな構成から始められます。並行実行数、保持する実行履歴、自動化の重要性が増したら、デフォルトのローカルデータベースを無制限の本番アーキテクチャとして扱うのではなく、適切に管理されたPostgreSQLサービスへ移行してください。

ZimaOS App Storeハードウェアディレクトリを使えば、n8nだけでなく自動化基盤全体の規模を見積もれます。

HTTPSと認証なしでエディターを直接公開しない

n8nには認証情報が保存され、強力なワークフローを実行できます。エディターは信頼できる認証とHTTPSの背後に置き、公開範囲は実際にトラフィックを受け取る必要があるエンドポイントに限定してください。