このガイドでは、ローカルサーバーおよびS3互換ストレージでのストレージオプションを含め、Discourseの自動バックアップを設定する方法を説明します。
Discourseプラットフォームの自動バックアップを設定する方法を学びましょう。
このガイドでは、自動バックアップの設定、ローカルサーバーまたはS3互換ストレージへの保存、Amazon Glacierなどのストレージ保持オプションの管理について説明します。
自動バックアップの設定
/admin設定に移動します。- Backupセクションを選択します。
backup_frequencyを希望の間隔(日数)に設定します。デフォルトは7(週次)です。日次バックアップの場合は1に設定し、自動バックアップを無効にする場合は0に設定します。最大値は30です。
backup_frequency100%75%50%
追加のバックアップ設定
backup_time_of_day— バックアップが実行される時刻(UTC)。デフォルト:3:30。backup_with_uploads— スケジュールされたバックアップにアップロードを含めます。デフォルト: 有効。これを無効にすると、データベースのみがバックアップされます。maximum_backups—保持するバックアップの最大数。古いバックアップは自動的に削除されます。デフォルト:5。remove_older_backups— 指定された日数より古いバックアップを削除します。無効にする場合は空白のままにします。
バックアップをローカルサーバーに保存する
デフォルトでは、バックアップはローカルサーバーに保存されます。セルフホスト型インスタンスの場合、/var/discourse/shared/standalone/backups/defaultでアクセスできます。
バックアップをS3互換ストレージに保存する
管理パネルの使用
- S3バケットを作成します。
- 管理パネルで
s3_backup_bucketを設定します。
- 手順については Setting up file and image uploads to S3を参照してください。
s3_access_key_id、s3_secret_access_key、およびs3_regionを設定します。backup_locationを「S3」に設定します。

警告
バックアップと通常のアップロードを同じバケットと同じフォルダーに保存することは、もはやサポートされておらず、機能しません。
s3_backup_bucketパスはバックアップ専用として使用する必要があります。他のファイルを含むバケットを使用する必要がある場合は、s3_backup_bucket設定でプレフィックス(例:my-awesome-bucket/backups)を指定し、そのプレフィックスを持つファイルがプライベートであることを確認してください。
これ以降、すべてのバックアップはS3にアップロードされ、ローカルには保存されなくなります。ローカルストレージは、バックアップと復元の間のテンポラリファイルにのみ使用されます。
管理ダッシュボードのBackupsタブに移動してバックアップを参照してください。いつでもダウンロードして手動でオフサイトバックアップを実行できます。
app.ymlで環境変数を使用する
app.ymlで環境変数を使用してS3バックアップを設定することもできます。詳細については、Configure an S3 compatible object storage provider for uploadsを参照してください。
上記の記事では、ファイル/画像アップロードとバックアップの両方でS3を設定するapp.ymlを扱っています。アップロード(ファイル/画像)用ではなく、バックアップ用にのみS3を使用したい場合は、app.yml設定から次のパラメーターを省略できます。
DISCOURSE_USE_S3DISCOURSE_S3_CDN_URLDISCOURSE_S3_BUCKET
この場合、after_assets_precompileステップを設定したり、CDNを設定したりする必要もありません。
記事で言及されているように、ストレージプロバイダーに必要な他のすべてのパラメーターを含めてください。S3をバックアップのみにアクティブにする場合の1つの設定例(Scaleway S3の場合)を次に示します。
DISCOURSE_S3_REGION: nl-ams
DISCOURSE_S3_ENDPOINT: https://s3.nl-ams.scw.cloud
DISCOURSE_S3_ACCESS_KEY_ID: my_access_key
DISCOURSE_S3_SECRET_ACCESS_KEY: my_secret_access_key
DISCOURSE_S3_BACKUP_BUCKET: my_bucket/my_folder
DISCOURSE_BACKUP_LOCATION: s3
低コストストレージへのアーカイブ
AWS S3では、S3バックアップコストを低く抑えるために、Glacierバケットへの自動移動のライフサイクルルールを有効にすることもできます。他のストレージプロバイダーも同様の機能を提供していることがよくあります。

