Discourse アップグレード中の空き容量不足を優雅に処理する提案

Discourse のアップグレードがディスク容量不足で失敗すると、残念ながら UI が 500 エラーで壊れてしまいます。その後、ターミナルから ./launcher rebuild app を実行する必要があります。これにより、まずすべての Docker イメージがダウンロードされ、5GB 未満の空き容量しかないことを知らせるために一時停止し、私が ‘y’ を押すのを待ち、古いイメージをクリーンアップするのにしばらく時間がかかります。その後、再度リビルドコマンドを実行する必要があり、これはすべての Docker イメージの再ダウンロードから始まります。

このプロセスには多くの手順があり、中にはログを手動で確認する必要があるものもあり、それらすべてがフォーラムのダウンタイムを増加させます。幸いなことに、この問題は私にはあまり頻繁には発生しません。それでも、フォーラムがダウンすると不安になりますね :anxious_face_with_sweat:

このダウンタイムは完全に回避可能に見えます。提案する機能強化は次のとおりです。アップグレードの前に、Web UI がユーザーにプロンプトを表示できます。

空きディスク容量が 10GB 未満です。アップグレードの前に古いコンテナをクリーンアップしますか?

ユーザーがこれを受け入れると、まずディスクがクリアされ、ユーザーには次のように通知されます。

古いコンテナから 10GB をクリアしました。現在、15GB の空きディスク容量があります。今すぐアップグレードを開始してください。

これで、ユーザーは Web UI から自信を持って Discourse のアップグレードを実行できます :smiling_face_with_sunglasses:

「いいね!」 3