DigitalOcean Block Storageへのアップロードとバックアップの移動

それでは、すべてのアップロードとバックアップをDigitalOcean Block Storageに移動したいと考えているのですね?

ただし、これを行う前に、代わりにhttps://meta.discourse.org/t/using-object-storage-for-uploads-s3-clones/148916を検討する価値があります。設定はそれほど複雑ではなく、いくつかの他の利点も提供します。

DigitalOcean上にDiscourseインスタンスを設定する

公式ガイドofficial guideを使用して、DigitalOcean上にDiscourseインスタンスを設定します。

ドロッパーにボリュームを追加する

ドロッパーにブロックストレージボリュームを追加します。ボリュームの名前をメモしてください。私の場合は、ボリューム名はvolume-nyc1-05でした。

ボリュームがフォーマットされ、/mnt/volume_nyc1_05にマウントされていることを確認してください。

/var/discourse/sharedをボリュームに移動する

最適なパフォーマンスのために、postgres_dataはメインドライブに残し、残りのデータを新しくアタッチされたボリュームに移動します。

ルートとしてログインし、サーバーから次のコマンドを実行します。

mv /var/discourse/shared/standalone/postgres_data /var/postgres_data_discourse
mv /var/discourse/shared /mnt/volume_nyc1_05

volume_nyc1_05をボリュームの名前に置き換えてください。

変更を反映するためにapp.ymlを編集する

お好みのエディタで/var/discourse/containers/app.ymlファイルを開き、次のブロックを探します。

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /var/discourse/shared/standalone
      guest: /shared
  - volume:
      host: /var/discourse/shared/standalone/log/var-log
      guest: /var/log

上記のブロックを次のように置き換えます。

## The Docker container is stateless; all data is stored in /shared
volumes:
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone
      guest: /shared
  - volume:
      host: /mnt/volume_nyc1_05/shared/standalone/log/var-log
      guest: /var/log
  - volume:
      host: /var/postgres_data_discourse
      guest: /shared/postgres_data

volume_nyc1_05をボリュームの名前に置き換えてください。

app.ymlファイルを保存し、コンテナを再構築します。

/var/discourse/launcher rebuild app

:tada: 完成です!

これで、すべてのアップロードとバックアップがDigitalOcean Block Storageに移動されました。


クレジット

このガイドは、@samの提案hereに触発されています。

「いいね!」 37