Vue normale

Reçu hier — 14 avril 2025Framasoft

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

Lire le sujet en entier

Votre fichier était trop volumineux

Bonjour,
Chose étrange, on a un Peertube self hosted installé avec Docker (+Dokploy)
Tout va bien de mon côté, je peux uploader, voir la vidéo, rien à dire, l’appli est nickel.
Cependant j’ai un collègue sur Paris, qui n’arrive pas à uploader les vidéos, à chaque fois la même erreur : Client log: Le téléversement a échoué: Votre fichier vidéo était trop volumineux (120mo quand même c’est pas fou). Il m’a envoyé le fichier, et j’ai pu l’uploader. C’est à rien n’y comprendre.
Avez-vous une idée ?

2 messages - 2 participant(e)s

Lire le sujet en entier

Reçu aujourd’hui — 15 avril 2025Framasoft

Nodeinfo localPosts counter incorrect

The nodeinfo protocol provides a mechanism to provide statistics on an instance. This is via the usage object which contains an object called « localPosts » (and integer value from 0 to infinity). The schema definition https://nodeinfo.diaspora.software/schema.html indicates this value is « The amount of posts that were made by users that are registered on this server. ».
PeerTube appears to be populating this object with « totalVideos » rather than « totalLocalVideos » and so is greatly inflating reported usage on PeerTube instances.

1 message - 1 participant(e)

Lire le sujet en entier

❌