Backblaze Object Storage Into Peertube Problems

My YunoHost server

Hardware: VPS bought online
YunoHost version:
I have access to my server : Through SSH | through the webadmin | direct access via keyboard / screen | …
Are you in a special context or did you perform some particular tweaking on your YunoHost instance ? : yes
If yes, please explain:
If your request is related to an app, specify its name and version: Peertube

Description of my issue

I am working on getting Backblaze working with Peertube as the object storage for all my videos on this new install. I am running into an issue that I hope I can find a solution for. With “The request body was too small” I’m not sure what this error means and I haven’t been able to find an answer elsewhere. I tried to decrease the max upload size in the hope that would be it, not sure but okay. That didn’t work.

I have added my Backblaze info to the production.yaml file (I know you shouldn’t in this use case at least) and everything seemed to be alright for the most part but, the move to object storage keeps failing on every test upload.

Job: 5
Type: move-to-object-storage
Processed on 1/29/24, 1:05:50.504 AM
Finished on 1/29/24, 1:05:51.105 AM

  "videoUUID": "7d3944cc-5904-43da-ab61-b0cf8eaf599f",
  "isNewVideo": true,
  "previousVideoState": 2

InvalidRequest: The request body was too small
    at throwDefaultError (/var/www/peertube/node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js:8:22)
    at /var/www/peertube/node_modules/@smithy/smithy-client/dist-cjs/default-error-handler.js:18:39
    at de_PutObjectCommandError (/var/www/peertube/node_modules/@aws-sdk/client-s3/dist-cjs/protocols/Aws_restXml.js:5721:12)
    at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
    at async /var/www/peertube/node_modules/@smithy/middleware-serde/dist-cjs/deserializerMiddleware.js:7:24
    at async /var/www/peertube/node_modules/@aws-sdk/middleware-signing/dist-cjs/awsAuthMiddleware.js:14:20
    at async /var/www/peertube/node_modules/@smithy/middleware-retry/dist-cjs/retryMiddleware.js:27:46
    at async /var/www/peertube/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/flexibleChecksumsMiddleware.js:57:20
    at async /var/www/peertube/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/region-redirect-endpoint-middleware.js:14:24
    at async /var/www/peertube/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/region-redirect-middleware.js:9:20
    at async /var/www/peertube/node_modules/@aws-sdk/middleware-logger/dist-cjs/loggerMiddleware.js:7:26
    at async Promise.all (index 0)
    at async Upload.__uploadUsingPut (/var/www/peertube/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:66:26)
    at async Upload.__doConcurrentUpload (/var/www/peertube/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:128:28)
    at async Promise.all (index 0)
    at async Upload.__doMultipartUpload (/var/www/peertube/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:211:9)
    at async Upload.done (/var/www/peertube/node_modules/@aws-sdk/lib-storage/dist-cjs/Upload.js:39:16)
    at async uploadToStorage (file:///var/www/peertube/dist/core/lib/object-storage/shared/object-storage-helpers.js:152:23)
    at async moveHLSFiles (file:///var/www/peertube/dist/core/lib/job-queue/handlers/move-to-object-storage.js:51:13)
    at async moveToJob (file:///var/www/peertube/dist/core/lib/job-queue/handlers/shared/move-video.js:23:13)
    at async Object.processMoveToObjectStorage [as move-to-object-storage] (file:///var/www/peertube/dist/core/lib/job-queue/handlers/move-to-object-storage.js:16:5)
    at async Object.wrapPromiseFun (file:///var/www/peertube/dist/core/lib/plugins/hooks.js:8:24)
    at async Worker.processJob (/var/www/peertube/node_modules/bullmq/dist/cjs/classes/worker.js:350:28)
    at async Worker.retryIfFailed (/var/www/peertube/node_modules/bullmq/dist/cjs/classes/worker.js:535:24)

Change to a different host (Wasabi) and everything is going through with no problem. Looks to be a Backblaze problem.

Don’t like being that guy but, was able to try out moving back to Backblaze, and using a different bucket seemed to get rid of the previous error I had been getting. The issue is that any video uploaded is not playing back. I just get the consistent wheel of loading, even after letting it sit there for several minutes. I looked through the network inspection and the video is being pulled from the bucket and through the CDN but, it doesn’t play. I’m not sure where else I should look or if I’m missing something.

Have you reconfigured your instance as per the docs? If so can you please post relevant config snippets?
What does network panel of developer tools say? Are there any failing requests?

Found the issue with Wasabi is that you would need to be on a paid plan and request the bucket to be public. That requires it to be placed through a CDN. Had been running through’s CDN which ultimately was the problem as I changed the bucket settings to look at a new one within Backblaze.

Removed the CDN info and was able to successfully have files moved to the Backblaze bucket. Experiencing other issues currently but that’s for another thread.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.