Не удалось восстановить данные после миграции Discourse

Да, похоже, есть несовместимость с R2.

Не проверено, но вы можете попробовать следующее:

Переменные окружения задаются в app.yml вашего контейнера в блоке env — в том же месте, где у вас уже есть такие переменные, как DISCOURSE_S3_ACCESS_KEY_ID. Просто добавьте туда две переменные:

env:
  LANG: en_US.UTF-8
  # ... ваши существующие переменные ...
  DISCOURSE_S3_BUCKET: ваш-bucket-r2
  DISCOURSE_S3_ACCESS_KEY_ID: ...
  DISCOURSE_S3_SECRET_ACCESS_KEY: ...
  DISCOURSE_S3_ENDPOINT: https://<account>.r2.cloudflarestorage.com

  # Исправление несовместимости контрольных сумм Cloudflare R2 с aws-sdk-s3
  AWS_REQUEST_CHECKSUM_CALCULATION: when_required
  AWS_RESPONSE_CHECKSUM_VALIDATION: when_required

Затем пересоберите контейнер:

./launcher rebuild app