algertc/alpr-dashboard Docker プロジェクト向けのドロップインパッチ2点。どちらもアップストリームイメージを変更・再ビルドせずにデプロイできます。
logger-fix/ — 非同期ロガー+クリーンアップのスロットル組み込みの同期ログ転送(ログ呼び出しのたびにファイル全体を読み込んで書き換える)を、呼び出しごとに appendFileSync を使うライターと毎分1回の遅延トリムに置き換えます。また、POSTごとの画像クリーンアップスキャンにレート制限を追加します。
測定された影響(130 KBのbase64画像ペイロード、実際のBlue Irisアラートに一致): 元のサーバーを応答不能にしていた持続的なナンバープレート読み取りレート(テストウィンドウあたり60 POST中0完了)が、CPUフラットかつ全スループットで動作するようになりました。
完全な曲面プロットと生データは logger-fix/perf/ にあります。
middleware-exploit-mitigation/ — CVE-2025-29927 nginx オーバーレイ同梱イメージは Next.js 15.0.3 を使用しており、CVE-2025-29927 の影響を受けます(CVSS 9.1、x-middleware-subrequest ヘッダーによる認証バイパス)。Next.js >= 15.2.3 で修正済みですが、アップストリームイメージを更新しない限りパッチを適用できません。
このパッチは、アプリの前に nginx:alpine サイドカーを配置し、プロキシされるすべてのリクエストからバイパスヘッダーを除去します。アプリの変更もイメージの再ビルドも不要です。
global.__loggerInitialized)と、fileStorage.cleanupOldFiles が fs/promises.readdir を使用している点に依存しています。現在の logger.js とストレージコードに対しては機能しますが、「正しい」修正ではありません。正しい修正は、アップストリームコードで LimitedLineTransport を非ブロッキング実装に置き換えることです。このパッチは、それが実現するまで安全に実行するための方法です。両パッチともインストールも元に戻すのも簡単で、アップストリームのリリースとは独立しています。
2026年4月時点の algertc/alpr-dashboard:latest に対してテスト済みです。安定性のため、既知の正常なイメージタグに固定してください。特にロガーパッチは、アップストリームの変更に伴ってずれる可能性のある実装詳細に依存しています。
MIT — LICENSE を参照してください。