Ошибка: загрузка резервной копии S3 с использованием multipart завершается неудачей с ошибкой undefined method 'downcase' for nil

Здравствуйте,

Я использую Discourse на базе Docker, у меня настроены следующие переменные окружения AWS:

env:
AWS_REQUEST_CHECKSUM_CALCULATION: "WHEN_REQUIRED"
AWS_RESPONSE_CHECKSUM_VALIDATION: "WHEN_REQUIRED"

Когда я запускаю резервное копирование через интерфейс для загрузки в S3, оно завершается сбоем на этапе многофайловой загрузки.

Проблема возникает в файле /var/www/discourse/lib/backup_restore/s3_backup_store.rb на этой строке:

obj.upload_file(source_path, content_type: content_type)

Вот точное сообщение об ошибке из логов:

[2026-07-11 10:18:38 UTC] /var/www/discourse/vendor/bundle/ruby/3.4.0/gems/aws-sdk-s3-1.182.0/lib/aws-sdk-s3/multipart_file_uploader.rb:186:in block (2 levels) in Aws::S3::MultipartFileUploader#upload_in_threads': undefined method downcase' for nil (NoMethodError)

        k = "checksum_#{algorithm.downcase}".to_sym

Мне удалось временно исправить проблему, явно передав checksum_algorithm в метод upload_file следующим образом:

obj.upload_file(
source_path,
content_type: content_type,
checksum_algorithm: "CRC32"
)

С этим изменением загрузка работает безупречно. Однако, поскольку это ручное изменение внутри контейнера, оно будет удалено при следующей пересборке контейнера.

Не могли бы вы разобраться с этой ошибкой в основном коде?

Спасибо!