Peertube 7.0.1 docker "Cannot execute job in queue move-to-object-storage - InternalError: An internal error occurred. Please retry your upload."
Hello,
I am getting this error message:
error[4/14/2025, 7:41:09 PM] Cannot move video https://feditubo.yt/videos/watch/6a27bab1-a5ef-4bfb-af41-e17f4b4e5016 storage.
{
"err": {
"stack": "InternalError: An internal error occurred. Please retry your upload.\n at throwDefaultError (/app/node_modules/@smithy/smithy-client/dist-cjs/index.js:867:20)\n at /app/node_modules/@smithy/smithy-client/dist-cjs/index.js:876:5\n at de_CommandError (/app/node_modules/@aws-sdk/client-s3/dist-cjs/index.js:4971:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/node_modules/@smithy/middleware-serde/dist-cjs/index.js:35:20\n at async /app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:483:18\n at async /app/node_modules/@smithy/middleware-retry/dist-cjs/index.js:321:38\n at async /app/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js:315:18\n at async /app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:109:22\n at async /app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:136:14\n at async /app/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:33:22\n at async _Upload.__doConcurrentUpload (/app/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:368:26)\n at async Promise.all (index 1)\n at async _Upload.__doMultipartUpload (/app/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:419:5)\n at async _Upload.done (/app/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:234:12)\n at async uploadToStorage (file:///app/dist/core/lib/object-storage/object-storage-helpers.js:175:26)",
"name": "InternalError",
"$fault": "client",
"$metadata": {
"httpStatusCode": 500,
"requestId": "a56ed4ae2c807970",
"extendedRequestId": "aYX5iiWPfONs4yTkdNp8yL2UuMckxjjRQ",
"attempts": 3,
"totalRetryDelay": 164
},
"Code": "InternalError",
"message": "An internal error occurred. Please retry your upload.",
"$response": {
"statusCode": 500,
"reason": "",
"headers": {
"server": "nginx",
"date": "Mon, 14 Apr 2025 19:41:09 GMT",
"content-type": "application/xml",
"content-length": "182",
"connection": "keep-alive",
"x-amz-request-id": "a56ed4ae2c807970",
"x-amz-id-2": "aYX5iiWPfONs4yTkdNp8yL2UuMckxjjRQ",
"cache-control": "max-age=0, no-cache, no-store",
"strict-transport-security": "max-age=63072000"
},
"body": {
"rawHeaders": [
"Server",
"nginx",
"Date",
"Mon, 14 Apr 2025 19:41:09 GMT",
"Content-Type",
"application/xml",
"Content-Length",
"182",
"Connection",
"keep-alive",
"x-amz-request-id",
"a56ed4ae2c807970",
"x-amz-id-2",
"aYX5iiWPfONs4yTkdNp8yL2UuMckxjjRQ",
"Cache-Control",
"max-age=0, no-cache, no-store",
"Strict-Transport-Security",
"max-age=63072000"
],
"req": {
"_header": "PUT /streaming-playlists/hls/6a27bab1-a5ef-4bfb-af41-e17f4b4e5016/3b0e2c7f-f90c-450b-b0d3-882a7808e2e9-1440-fragmented.mp4?partNumber=2&uploadId=4_zba0b7cb858b936528e810114_f2504766a82ee29fa_d20250414_m194015_c003_v0312009_t0000_u01744659615262&x-id=UploadPart HTTP/1.1\r\ncontent-type: application/octet-stream\r\ncontent-length: 412196023\r\nExpect: 100-continue\r\nx-amz-user-agent: aws-sdk-js/3.749.0\r\nuser-agent: aws-sdk-js/3.749.0 ua/2.1 os/linux#6.8.0-52-generic lang/js md/nodejs#20.19.0 api/s3#3.749.0 m/N,a,b,E,e\r\nhost: feditubo.s3.eu-central-003.backblazeb2.com\r\namz-sdk-invocation-id: 4f20b4b2-cab5-4d80-9eaa-e5f579e80503\r\namz-sdk-request: attempt=3; max=3\r\nx-amz-date: 20250414T194050Z\r\nx-amz-content-sha256: dbf39e8b89a42296019e8abae20a42050cb23b8bca73d29951b1fb2eef66ccf4\r\nauthorization: AWS4-HMAC-SHA256 Credential=003abc88962e1140000000003/20250414/eu-central-003/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-user-agent, Signature=7fb64db6b228cbc1b297c7c5a43d75d947bfc183dfd56d9cecdf9c680bc2585e\r\nConnection: keep-alive\r\n\r\n"
}
}
}
},
"tags": [
"move-object-storage",
"6a27bab1-a5ef-4bfb-af41-e17f4b4e5016",
"https://feditubo.yt/videos/watch/6a27bab1-a5ef-4bfb-af41-e17f4b4e5016"
]
}
error[4/14/2025, 7:41:09 PM] Cannot execute job 54 in queue move-to-object-storage.
{
"payload": {
"videoUUID": "6a27bab1-a5ef-4bfb-af41-e17f4b4e5016",
"isNewVideo": true,
"previousVideoState": 2
},
"err": {
"stack": "InternalError: An internal error occurred. Please retry your upload.\n at throwDefaultError (/app/node_modules/@smithy/smithy-client/dist-cjs/index.js:867:20)\n at /app/node_modules/@smithy/smithy-client/dist-cjs/index.js:876:5\n at de_CommandError (/app/node_modules/@aws-sdk/client-s3/dist-cjs/index.js:4971:14)\n at process.processTicksAndRejections (node:internal/process/task_queues:95:5)\n at async /app/node_modules/@smithy/middleware-serde/dist-cjs/index.js:35:20\n at async /app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:483:18\n at async /app/node_modules/@smithy/middleware-retry/dist-cjs/index.js:321:38\n at async /app/node_modules/@aws-sdk/middleware-flexible-checksums/dist-cjs/index.js:315:18\n at async /app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:109:22\n at async /app/node_modules/@aws-sdk/middleware-sdk-s3/dist-cjs/index.js:136:14\n at async /app/node_modules/@aws-sdk/middleware-logger/dist-cjs/index.js:33:22\n at async _Upload.__doConcurrentUpload (/app/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:368:26)\n at async Promise.all (index 1)\n at async _Upload.__doMultipartUpload (/app/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:419:5)\n at async _Upload.done (/app/node_modules/@aws-sdk/lib-storage/dist-cjs/index.js:234:12)\n at async uploadToStorage (file:///app/dist/core/lib/object-storage/object-storage-helpers.js:175:26)",
"name": "InternalError",
"$fault": "client",
"$metadata": {
"httpStatusCode": 500,
"requestId": "a56ed4ae2c807970",
"extendedRequestId": "aYX5iiWPfONs4yTkdNp8yL2UuMckxjjRQ",
"attempts": 3,
"totalRetryDelay": 164
},
"Code": "InternalError",
"message": "An internal error occurred. Please retry your upload.",
"$response": {
"statusCode": 500,
"reason": "",
"headers": {
"server": "nginx",
"date": "Mon, 14 Apr 2025 19:41:09 GMT",
"content-type": "application/xml",
"content-length": "182",
"connection": "keep-alive",
"x-amz-request-id": "a56ed4ae2c807970",
"x-amz-id-2": "aYX5iiWPfONs4yTkdNp8yL2UuMckxjjRQ",
"cache-control": "max-age=0, no-cache, no-store",
"strict-transport-security": "max-age=63072000"
},
"body": {
"rawHeaders": [
"Server",
"nginx",
"Date",
"Mon, 14 Apr 2025 19:41:09 GMT",
"Content-Type",
"application/xml",
"Content-Length",
"182",
"Connection",
"keep-alive",
"x-amz-request-id",
"a56ed4ae2c807970",
"x-amz-id-2",
"aYX5iiWPfONs4yTkdNp8yL2UuMckxjjRQ",
"Cache-Control",
"max-age=0, no-cache, no-store",
"Strict-Transport-Security",
"max-age=63072000"
],
"req": {
"_header": "PUT /streaming-playlists/hls/6a27bab1-a5ef-4bfb-af41-e17f4b4e5016/3b0e2c7f-f90c-450b-b0d3-882a7808e2e9-1440-fragmented.mp4?partNumber=2&uploadId=4_zba0b7cb858b936528e810114_f2504766a82ee29fa_d20250414_m194015_c003_v0312009_t0000_u01744659615262&x-id=UploadPart HTTP/1.1\r\ncontent-type: application/octet-stream\r\ncontent-length: 412196023\r\nExpect: 100-continue\r\nx-amz-user-agent: aws-sdk-js/3.749.0\r\nuser-agent: aws-sdk-js/3.749.0 ua/2.1 os/linux#6.8.0-52-generic lang/js md/nodejs#20.19.0 api/s3#3.749.0 m/N,a,b,E,e\r\nhost: feditubo.s3.eu-central-003.backblazeb2.com\r\namz-sdk-invocation-id: 4f20b4b2-cab5-4d80-9eaa-e5f579e80503\r\namz-sdk-request: attempt=3; max=3\r\nx-amz-date: 20250414T194050Z\r\nx-amz-content-sha256: dbf39e8b89a42296019e8abae20a42050cb23b8bca73d29951b1fb2eef66ccf4\r\nauthorization: AWS4-HMAC-SHA256 Credential=003abc88962e1140000000003/20250414/eu-central-003/s3/aws4_request, SignedHeaders=amz-sdk-invocation-id;amz-sdk-request;content-length;content-type;host;x-amz-content-sha256;x-amz-date;x-amz-user-agent, Signature=7fb64db6b228cbc1b297c7c5a43d75d947bfc183dfd56d9cecdf9c680bc2585e\r\nConnection: keep-alive\r\n\r\n"
}
}
}
}
}
while trying to move a video to s3 backblaze.
my docker compose:
services:
# You can comment this webserver section if you want to use another webserver/proxy or test PeerTube in local
# webserver:
# image: chocobozzz/peertube-webserver:latest
# # If you don't want to use the official image and build one from sources:
# # build:
# # context: .
# # dockerfile: ./support/docker/production/Dockerfile.nginx
# env_file:
# - .env
# ports:
# - "800:80"
# - "4433:443"
# volumes:
# - type: bind
# # Switch sources if you downloaded the whole repository
# #source: ../../nginx/peertube
# source: ./docker-volume/nginx/peertube.file
# target: /etc/nginx/conf.d/peertube.template
# - assets:/var/www/peertube/peertube-latest/client/dist:ro
# - ./docker-volume/data:/var/www/peertube/storage
# - certbot-www:/var/www/certbot
# - ./docker-volume/certbot/conf:/etc/letsencrypt
# depends_on:
# - peertube
# restart: "always"
# You can comment this certbot section if you want to use another webserver/proxy or test PeerTube in local
# certbot:
# container_name: certbot
# image: certbot/certbot
# volumes:
# - ./docker-volume/certbot/conf:/etc/letsencrypt
# - certbot-www:/var/www/certbot
# restart: unless-stopped
# entrypoint: /bin/sh -c "trap exit TERM; while :; do certbot renew --webroot -w /var/www/certbot; sleep 12h & wait $${!}; done;"
# depends_on:
# - webserver
peertube:
# If you don't want to use the official image and build one from sources:
# build:
# context: .
# dockerfile: ./support/docker/production/Dockerfile.bookworm
image: chocobozzz/peertube:production-bookworm
# Use a static IP for this container because nginx does not handle proxy host change without reload
# This container could be restarted on crash or until the postgresql database is ready for connection
#networks:
#default:
#ipv4_address: 172.26.0.20
#ipv6_address: fdab:e4b3:21a2:ef1b::42
env_file:
- stack.env
#ports:
#- "1935:1935" # Comment if you don't want to use the live feature
#- "9000:9000" # Uncomment if you use another webserver/proxy or test PeerTube in local, otherwise not suitable for production
volumes:
# Remove the following line if you want to use another webserver/proxy or test PeerTube in local
# - assets:/app/client/dist
- ${WD}/docker-volume/data:/data
- ${WD}/docker-volume/config:/config
depends_on:
- postgres
- redis
- postfix
environment:
- PEERTUBE_REDIS_HOSTNAME=peertube_redis
- PEERTUBE_REDIS_PORT=6379 # Redis port
restart: "always"
postgres:
image: postgres:13-alpine
env_file:
- stack.env
volumes:
- ${WD}/docker-volume/db:/var/lib/postgresql/data
restart: "always"
pgbackups:
image: prodrigestivill/postgres-backup-local
restart: always
#user: postgres:postgres # Optional: see below
volumes:
- ${SB}:/backups
links:
- postgres
depends_on:
- postgres
environment:
- POSTGRES_HOST=postgres
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
# - POSTGRES_PASSWORD_FILE=/run/secrets/db_password <-- alternative for POSTGRES_PASSWORD (to use with docker secrets)
- POSTGRES_EXTRA_OPTS=-Z1 --schema=public --blobs
- SCHEDULE=@daily
- BACKUP_ON_START=TRUE
- BACKUP_KEEP_DAYS=7
- BACKUP_KEEP_WEEKS=4
- BACKUP_KEEP_MONTHS=6
#- HEALTHCHECK_PORT=8080
redis:
image: redis:6-alpine
hostname: "peertube_redis"
volumes:
- ${WD}/docker-volume/redis:/data
environment:
- auth=null
restart: "always"
postfix:
image: mwader/postfix-relay
env_file:
- stack.env
volumes:
- ${WD}/docker-volume/opendkim/keys:/etc/opendkim/keys
restart: "always"
networks:
default:
external: true
name: ext
enable_ipv6: false
#ipam:
#driver: default
#config:
#- subnet: 172.26.0.0/16
#- subnet: fdab:e4b3:21a2:ef1b::/64
my env file:
POSTGRES_USER=db_user
POSTGRES_PASSWORD=db_pwd
POSTGRES_DB=peertube
PEERTUBE_DB_NAME=peertube
PEERTUBE_DB_USERNAME=db_user
PEERTUBE_DB_PASSWORD=db_pwd
PEERTUBE_DB_SSL=false
PEERTUBE_DB_HOSTNAME=feditubo-postgres-1
PEERTUBE_WEBSERVER_HOSTNAME=my_domain
PEERTUBE_WEBSERVER_HTTPS=true
PEERTUBE_SECRET=secret
PEERTUBE_SMTP_USERNAME=admin@my_domain
PEERTUBE_SMTP_PASSWORD=smtp_pw
PEERTUBE_SMTP_HOSTNAME=smtp.server
PEERTUBE_SMTP_PORT=587
PEERTUBE_SMTP_FROM=admin@my_domain
PEERTUBE_SMTP_TLS=false
PEERTUBE_SMTP_DISABLE_STARTTLS=false
PEERTUBE_ADMIN_EMAIL=admin@my_domain
POSTFIX_myhostname=my_domain
OPENDKIM_DOMAINS=my_domain=peertube
OPENDKIM_RequireSafeKeys=no
PEERTUBE_OBJECT_STORAGE_ENABLED=true
PEERTUBE_OBJECT_STORAGE_ENDPOINT=s3.server
PEERTUBE_OBJECT_STORAGE_REGION=region
PEERTUBE_OBJECT_STORAGE_PROXY_PROXIFY_PRIVATE_FILES=true
PEERTUBE_OBJECT_STORAGE_CREDENTIALS_ACCESS_KEY_ID=id
PEERTUBE_OBJECT_STORAGE_CREDENTIALS_SECRET_ACCESS_KEY=secret
PEERTUBE_OBJECT_STORAGE_MAX_UPLOAD_PART=1000000000
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BUCKET_NAME=feditubo
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_PREFIX=streaming-playlists/
PEERTUBE_OBJECT_STORAGE_STREAMING_PLAYLISTS_BASE_URL=https://feditubo.s3.server
PEERTUBE_OBJECT_STORAGE_UPLOAD_ACL=public
PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_BUCKET_NAME=fedituboyt
PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_PREFIX=web-videos/
PEERTUBE_OBJECT_STORAGE_WEB_VIDEOS_BASE_URL=https://feditubo.s3.server
WD=/home/kireek/docker/feditubo
SB=/mnt/backrest/mysqlbackup/peertube
private_files_require_auth=true
thanks
2 messages - 2 participant(e)s