Discourseの移行でデータ復元が失敗しました

はい、R2 との互換性の問題があるようです。

未検証ですが、以下を試してみてください。

環境変数は、コンテナの app.yml 内の env ブロックで設定されます。これは、すでに DISCOURSE_S3_ACCESS_KEY_ID などの設定がある場所と同じです。そこに以下の 2 つの変数を追加してください。

env:
  LANG: en_US.UTF-8
  # ... 既存の変数 ...
  DISCOURSE_S3_BUCKET: your-r2-bucket
  DISCOURSE_S3_ACCESS_KEY_ID: ...
  DISCOURSE_S3_SECRET_ACCESS_KEY: ...
  DISCOURSE_S3_ENDPOINT: https://<account>.r2.cloudflarestorage.com

  # aws-sdk-s3 との Cloudflare R2 チェックサム非互換性への対応
  AWS_REQUEST_CHECKSUM_CALCULATION: when_required
  AWS_RESPONSE_CHECKSUM_VALIDATION: when_required

その後、コンテナを再構築します。

./launcher rebuild app