# フォーラム内での写真ホスティングの仕組みを教えてください。それは非常に高額になりますか？

**URL:** https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018
**Category:** Self-hosting
**Tags:** hosting
**Created:** [2020 年 2 月 7 日午後 7:38 UTC](https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018 "2020-02-07T19:38:33Z")
**Posts on this page:** 5
**Page:** 1

<div class="post-metadata">

### Author: ![AvidLearner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avidlearner/32/215589_2.png) [@AvidLearner](https://meta.discourse.org/u/AvidLearner)
#### Post date: [2020 年 2 月 7 日午後 7:38 UTC](https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018/1 "2020-02-07T19:38:33Z")

</div>

写真のホスティングコストが気になっています。（Digital Ocean の月額10ドルのプランで Droplet にフォーラムをセットアップしました。まだユーザーはいません。）写真は私の Digital Ocean の Droplet 内に保存されていると推測しますが、つまり、これらの写真が占めるデータ量に対応できるだけのストレージ容量を Digital Ocean で確保する必要があるのでしょうか？

フォーラム内で写真をホストすることは重要ですが、毎月写真が増えるにつれて長期的なコストをどのように概算すればよいでしょうか？ユーザーの写真を最適化する設定はありますか？

写真のホスティングとコストについて、 **シンプル** な説明をどなたか提供していただけると大変助かります。ありがとうございます。

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2020 年 2 月 7 日午後 7:58 UTC](https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018/2 "2020-02-07T19:58:28Z")

</div>

> [@AvidLearner](#):
>
> 写真は私の Digital Ocean ドロップレット内に保存されていると推測されます。つまり、これらの写真が占有するデータ量に合わせて、Digital Ocean に十分なストレージ容量が必要になるということでしょうか？

その通りです。代わりに、DigitalOcean Spaces（[セットアップガイド](https://meta.discourse.org/t/setting-up-backup-and-image-uploads-to-digitalocean-spaces/92502)）や、Amazon の S3 サービス（[セットアップガイド](https://meta.discourse.org/t/setting-up-file-and-image-uploads-to-s3/7229)）で写真をホストすることも可能です。これにより、より多くのストレージを必要とする場合でもコストを大幅に削減できます。

また、Discourse には画像の最大許容サイズを制限する設定も用意されています。これにより、膨大なストレージ容量を占有するような過度に大きな画像のアップロードを防ぐことができます。

以前のトピックからの概算計算例 [from a previous topic](https://meta.discourse.org/t/optimize-images-before-uploading/17150/6?u=awesomerobot)：

> [@codinghorror](#):
>
> 「典型的な」Digital Ocean の安定運用中の Discourse インストール（1GB / 30GB の最小構成）において、以下の状況が見られます：
> 
> 29.40 GB のうち 30.9% 使用 = **9.08 GB 使用、20.32 GB 空き**
> 
> 20.32 GB / 3 MB = 6,773 枚のフルサイズ（3MB）画像  
> 20.32 GB / 2 MB = 10,160 枚のミディアムサイズ（2MB）画像
> 
> つまり、例えば 1,000 人のメンバーがおり、1 人あたり年間平均 3 枚の画像をアップロードすると仮定すると（年間 3,000 枚）、画像の「平均」サイズを 2MB とすると、ディスク容量は約 3 年で尽きてしまいます。
> 
> もちろん、これは以下に大きく依存します：
> 
> - コミュニティの規模
> - アップロードされるコンテンツの種類
> - アップロードの頻度
> 
> しかし、これらは妥当な簡易計算の一例と言えます。

この計算を DigitalOcean Spaces の月額 5 ドルで 250GB のプランに拡張すると、1,000 人のユーザーが 1 年あたり 3 枚ずつ、_3MB_ の画像をアップロードする場合でも、約 27 年間カバーできることになります。

---

<div class="post-metadata">

### Author: ![AvidLearner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avidlearner/32/215589_2.png) [@AvidLearner](https://meta.discourse.org/u/AvidLearner)
#### Post date: [2020 年 2 月 7 日午後 8:26 UTC](https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018/3 "2020-02-07T20:26:14Z")

</div>

> [@awesomerobot](#):
>
> その通りです。代わりに、DigitalOcean Spaces（[設定ガイド](https://meta.discourse.org/t/setting-up-backup-and-image-uploads-to-digitalocean-spaces/92502)）や、Amazon の S3 サービス（[設定ガイド](https://meta.discourse.org/t/setting-up-file-and-image-uploads-to-s3/7229)）に写真をホストすることも可能です。これにより、ストレージの増加に伴うコストを劇的に削減できます。

ありがとうございます！非常に役立つ情報ですね。

このフォーラムは写真中心になる可能性が高いと思いますが、現時点ではユーザーがゼロなので、まだ分かりません。フォーラムの公開前に、写真を DigitalOcean Spaces または S3 にホストするように設定しておくことをお勧めしますか？

また、Discourse は写真を最適化しますか？もしそうなら、この機能の設定に関するドキュメントはありますか？（おそらく非常に初歩的で明白な質問で申し訳ありませんが、理解が少し遅いものでして。:upside_down_face:) ありがとうございます！

---

<div class="post-metadata">

### Author: ![awesomerobot](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/awesomerobot/32/142900_2.png) [@awesomerobot](https://meta.discourse.org/u/awesomerobot)
#### Post date: [2020 年 2 月 7 日午後 8:39 UTC](https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018/4 "2020-02-07T20:39:53Z")

</div>

> [@AvidLearner](#):
>
> フォラムを一般公開する前に、写真をホストするために DigitalOcean Spaces または S3 を設定することを推奨しますか？

はい、後で移行するよりも、最初からそのように設定する方が簡単です。

> [@AvidLearner](#):
>
> また、Discourse は写真を最適化しますか？

いいえ、アップロードされた元のファイルは最適化しません（そのため、設定で最大アップロードサイズを制限することを推奨しています）。Discourse は投稿内での表示用に最適化された画像を作成します（読み込み時間や帯域幅の使用を削減するため）が、ユーザーはその画像をクリックしてフルサイズの元画像を表示できます。

どうしても必要な場合、サーバーに保存されている元の画像のサイズを削減するために、コマンドラインから手動で定期的に実行できるスクリプトが用意されています。

> [@neil](#):
>
> そのスクリプトは [downsize\_uploads.rb](https://github.com/discourse/discourse/blob/master/script/downsize_uploads.rb) です。以下のように実行します。
> 
> ```plaintext
> cd /var/www/discourse
> RAILS_ENV=production bundle exec ruby script/downsize_uploads.rb
> 
> ```
> 
> このスクリプトは、画像を 1 メガピクセル以下に縮小しようとしますが、希望する最大サイズを指定することもできます。

---

<div class="post-metadata">

### Author: ![AvidLearner](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/avidlearner/32/215589_2.png) [@AvidLearner](https://meta.discourse.org/u/AvidLearner)
#### Post date: [2020 年 2 月 7 日午後 8:55 UTC](https://meta.discourse.org/t/please-explain-how-hosting-photos-within-the-forum-works-does-that-get-crazy-expensive/141018/5 "2020-02-07T20:55:20Z")

</div>

@awesomerobot さん、ありがとうございます！あなたの回答は非常に役立ち、ローンチ前の不安をいくらか解消してくれました。
