logo
icon

Inngest

セルフホスト型 Inngest — 信頼性の高いバックグラウンドジョブと AI ワークフローのための永続実行エンジン。PostgreSQL と Redis 付き。

プラットフォームZeabur
展開済み3
発行者zeaburZeabur
展開済み3
発行者zeaburZeabur
作成日2026-04-16
サービス
service icon
service icon
service icon
タグ
Developer ToolsBackground JobsWorkflow

Inngest — セルフホスト版

Inngest はオープンソースの永続実行エンジンで、信頼性の高いバックグラウンドジョブ、スケジュール関数、AI ワークフローをリトライ・並行制御・可観測性付きで構築できます。

このテンプレートは PostgreSQL(状態保存)と Redis(キューとキャッシュ)を含むセルフホスト型 Inngest インスタンスをワンクリックでデプロイします。

サービス構成

サービスポート用途
Inngest Dashboard & API8288 (HTTP)UI、イベント受信、REST API
Inngest Connect Gateway8289 (HTTP/WSS)SDK ワーカー用 WebSocket ゲートウェイ
PostgreSQL5432永続状態ストレージ
Redis6379キューとキャッシュ

事前準備

2つの16進数文字列が必要です(偶数桁、0-9 と a-f のみ):

openssl rand -hex 16

1つを Event Key、もう1つを Signing Key として使用してください。

⚠️ セキュリティ警告

Inngest self-hosted は設計上、Dashboard UI や GraphQL API に認証を適用しません。ソースコードは SDK 関連エンドポイントにのみ signing key 検証を適用します:

エンドポイント保護
Dashboard UI❌ 公開
GraphQL API(/v0/gql❌ 公開 — 誰でもすべての app・関数・イベントを照会可能
イベント送信(/e/*✅ Event Key が必要
SDK Sync(/fn/register✅ Signing Key が必要
Connect WebSocket✅ Signing Key が必要

推奨: Dashboardドメインを公開しないでください。VPN、IPホワイトリスト、またはHTTP Basic Auth プロキシの後ろに配置してください。SDK ワーカーの接続のためにConnect Gatewayドメイン(ポート8289)は公開が必要です。

SDK ワーカーの接続

const inngest = new Inngest({
  id: "my-app",
  baseUrl: "https://YOUR_DOMAIN",
  eventKey: "YOUR_EVENT_KEY",
  signingKey: "YOUR_SIGNING_KEY",
});

Connect モード(WebSocket ワーカー)の場合は、Connect ドメインを gatewayUrl に指定してください:

// ⚠️ `triggers`(複数配列)を使用してください。`trigger`(単数)は使用しないでください
const myFn = inngest.createFunction(
  { id: "my-fn", triggers: [{ event: "my/event" }] },
  async ({ event, step }) => { /* ... */ }
);

await connect({
  apps: [{ client: inngest, functions: [myFn] }],
  gatewayUrl: "wss://YOUR_CONNECT_DOMAIN/v0/connect",
});

注意: 関数定義には必ず triggers: [...](複数配列)を使用してください。trigger:(単数)を使用するとトリガーが空になり、関数が実行されません。

ライセンス

Inngest は Apache 2.0 ライセンスでオープンソース公開されています。