このガイドは、Discourseサイトから孤立した、または削除されたアップロードが自動的に削除される仕組みについて説明します。このガイドは、セルフホスト型およびホスト型Discourseサイトに適用されます。
必要なユーザーレベル:管理者
Discourseサイトにアップロードされたが参照されなくなったファイルや画像がどうなるのか、またはサイトからアップロードを削除する方法について疑問に思ったことはありませんか? ここがまさにその場所です!
Discourseにアップロードされたファイルや画像を削除する必要がある場合がありますが、それらが参照されなくなっても、ユーザーインターフェースから直接削除する方法はありません。しかし、Discourseにはclean up uploadsと呼ばれる、孤立した、または削除されたアップロードを削除するためにスケジュールされた自動Sidekiqジョブがあります。
孤立した、または削除されたアップロード
孤立したアップロードとは、Discourseサイトにアップロードされたものの、もはや参照されていないファイルのことです。アップロードが孤立していると見なされるのは、次の場合にのみ参照されていない場合です。
- ポストの最新バージョン
- 下書き
- キューに入れられたポスト
- カスタム絵文字
- テーマ
- ユーザーアバター/背景/カード画像
- カテゴリのロゴ/背景画像
アップロードは、それが含まれているトピック/ポストが削除されたときに「削除された」と見なされます。
アップロードのクリーンアップ
アップロードをDiscourseから完全に削除するには、次のいずれかを行う必要があります。
- アップロードへの参照をすべて削除することにより、アップロードを孤立させます。これは、ポスト内のアップロードリンクを編集するか、アップロードが参照されている他の場所から削除することで実行できます。
- アップロードを含むすべてのトピック/ポストを削除すると、アップロードは「削除された」と見なされます。削除する前にポストから画像を削除して孤立させる必要があることに注意してください。
その後、clean up uploadsジョブが実行されると(猶予期間後)、孤立した未参照のアップロードと削除されたアップロードはすべてストレージから削除されます。
サイト設定
次のサイト設定は、Discourseがアップロードを自動的に削除する方法を変更するために、example.discourse.com/admin/site_settings/category/filesで利用できます。
clean up uploads: デフォルトはtrueclean orphan uploads grace period hours: デフォルトは48purge deleted uploads grace period days: デフォルトは30
clean up uploads設定を使用して、孤立した未参照のアップロードの自動削除を有効または無効にできます。clean orphan uploads grace period hoursとpurge deleted uploads grace period daysは、検出された孤立した、または削除されたアップロードが削除され、サイトから完全に削除されるまでの期間を制御する2つの設定です。
clean up uploadsジョブに関する追加の詳細は、GitHubのclean_up_uploads.rbファイルで確認できます。
S3アップロードのパージ
次のセクションは、セルフホスト型Discourseサイトにのみ適用されます。
現在Enterprise Planでホストされている場合は、S3ストレージからアップロードを削除することについて質問がある場合は、team@discourse.orgまでご連絡ください。
孤立した、または削除されたアップロードのクリーンアップは、ローカルストレージとS3ストレージで同様に機能します。ローカルストレージとS3ストレージの唯一の違いは、S3アップロードのクリーンアップがtombstone policyを介してS3によって自動的に処理されることです。この処理方法の詳細については、ストレージライフサイクルの管理を参照してください。
デフォルトでは、clean up uploadsジョブにはS3アップロードが含まれます。ただし、この機能を無効にしたい場合は、s3 configure tombstone policyサイト設定のチェックを外すことができます。

