Dify でストレージスペースを削減する方法
Posted on
375 words,
2 minutes to read
Contents
Overview
Dify のアプリケーションにアップロードしたファイルなどのデータは、時間が経つとストレージスペースを圧迫することがあります。 これらのファイルを削除して、ストレージスペースを削減する方法を紹介します。
手動でのデータクリーンアップ
Dify では、管理者が手動で不要なデータを削除するためのコマンドが用意されています。
テナントIDの確認
docker exec -it docker-api-1 bash -c "echo 'from models import Tenant; db.session.query(Tenant.id, Tenant.name).all(); quit()' | flask shell"古いログの削除
docker exec -it docker-api-1 flask clear-free-plan-tenant-expired-logs \ --days 30 \ --batch 100 \ --tenant_ids <tenant id>参照されていないファイルのレコードの削除
注意書きが表示されるので、確認の上実行しましょう。
docker exec -it docker-api-1 flask clear-orphaned-file-recordsレコードに載っていないファイルの削除
docker exec -it docker-api-1 flask remove-orphaned-files-on-storageハウスキープジョブの有効化
デフォルトではハウスキープジョブは無効化されています。
有効化するには、 .env ファイルで有効化する必要があります。
以下は、 dify v1.11.4 での設定例です。
WORKFLOW_LOG_CLEANUP_ENABLED=true
# Celery schedule tasks configurationENABLE_CLEAN_EMBEDDING_CACHE_TASK=trueENABLE_CLEAN_UNUSED_DATASETS_TASK=trueENABLE_CLEAN_MESSAGES=true実際のハウスキープの処理内容は以下にソースコードがあります
Conclusion
Dify コミュニティ版では、長期間運用すると、ストレージスペースが肥大化してきますので、定期的に不要なデータを削除していきたいと思います。 デフォルトで、有効化しておいてくれてもいいのにな、と(個人的には)思います。 😎