After updating to 8.0.1, I get an error importing videos from YouTube.
angeltales.angellive.ru/videos/publish\" \"Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0\"","label":"angeltales.angellive.ru:443","timestamp":"2025-12-16T22:10:49.627Z"}
{"level":"error","message":"An error occurred while importing the video https://youtu.be/xGRXNMhaSrA. ","label":"angeltales.angellive.ru:443","err":{"stack":"ExecaError: Command failed with exit code 2: /usr/bin/python3 /var/www/peertube/storage/bin/yt-dlp --js-runtimes node --dump-json -f 'bestvideo[vcodec^=avc1][height=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=720]+bestaudio/bestvideo[vcodec^=avc1][height<=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio/best[vcodec!*=av01][vcodec!*=vp9.2]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best' 'https://youtu.be/xGRXNMhaSrA'\n\n\nUsage: yt-dlp [OPTIONS] URL [URL...]\n\nyt-dlp: error: no such option: --js-runtimes\n at getFinalError (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/return/final-error.js:6:9)\n at makeError (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/return/result.js:108:16)\n at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/methods/main-async.js:168:4)\n at handlePromise (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/methods/main-async.js:151:17)\n at async YoutubeDLCLI.run (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/helpers/youtube-dl/youtube-dl-cli.js:149:24)\n at async YoutubeDLCLI.getInfo (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/helpers/youtube-dl/youtube-dl-cli.js:93:22)\n at async YoutubeDLWrapper.getInfoForDownload (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/helpers/youtube-dl/youtube-dl-wrapper.js:26:22)\n at async buildYoutubeDLImport (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/lib/video-pre-import.js:115:25)\n at async handleYoutubeDlImport (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/controllers/api/videos/import.js:121:38)","message":"Cannot fetch information from import for URL https://youtu.be/xGRXNMhaSrA","code":0,"cause":{"stack":"ExecaError: Command failed with exit code 2: /usr/bin/python3 /var/www/peertube/storage/bin/yt-dlp --js-runtimes node --dump-json -f 'bestvideo[vcodec^=avc1][height=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=720]+bestaudio/bestvideo[vcodec^=avc1][height<=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio/best[vcodec!*=av01][vcodec!*=vp9.2]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best' 'https://youtu.be/xGRXNMhaSrA'\n\n\nUsage: yt-dlp [OPTIONS] URL [URL...]\n\nyt-dlp: error: no such option: --js-runtimes\n at getFinalError (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/return/final-error.js:6:9)\n at makeError (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/return/result.js:108:16)\n at getAsyncResult (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/methods/main-async.js:168:4)\n at handlePromise (file:///var/www/peertube/versions/peertube-v8.0.1/node_modules/.pnpm/execa@9.6.0/node_modules/execa/lib/methods/main-async.js:151:17)\n at async YoutubeDLCLI.run (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/helpers/youtube-dl/youtube-dl-cli.js:149:24)\n at async YoutubeDLCLI.getInfo (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/helpers/youtube-dl/youtube-dl-cli.js:93:22)\n at async YoutubeDLWrapper.getInfoForDownload (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/helpers/youtube-dl/youtube-dl-wrapper.js:26:22)\n at async buildYoutubeDLImport (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/lib/video-pre-import.js:115:25)\n at async handleYoutubeDlImport (file:///var/www/peertube/versions/peertube-v8.0.1/dist/core/controllers/api/videos/import.js:121:38)","message":"Command failed with exit code 2: /usr/bin/python3 /var/www/peertube/storage/bin/yt-dlp --js-runtimes node --dump-json -f 'bestvideo[vcodec^=avc1][height=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=720]+bestaudio/bestvideo[vcodec^=avc1][height<=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio/best[vcodec!*=av01][vcodec!*=vp9.2]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best' 'https://youtu.be/xGRXNMhaSrA'\n\n\nUsage: yt-dlp [OPTIONS] URL [URL...]\n\nyt-dlp: error: no such option: --js-runtimes","shortMessage":"Command failed with exit code 2: /usr/bin/python3 /var/www/peertube/storage/bin/yt-dlp --js-runtimes node --dump-json -f 'bestvideo[vcodec^=avc1][height=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=720]+bestaudio/bestvideo[vcodec^=avc1][height<=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio/best[vcodec!*=av01][vcodec!*=vp9.2]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best' 'https://youtu.be/xGRXNMhaSrA'","command":"/usr/bin/python3 /var/www/peertube/storage/bin/yt-dlp --js-runtimes node --dump-json -f bestvideo[vcodec^=avc1][height=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=720]+bestaudio/bestvideo[vcodec^=avc1][height<=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio/best[vcodec!*=av01][vcodec!*=vp9.2]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best https://youtu.be/xGRXNMhaSrA","escapedCommand":"/usr/bin/python3 /var/www/peertube/storage/bin/yt-dlp --js-runtimes node --dump-json -f 'bestvideo[vcodec^=avc1][height=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2][height=720]+bestaudio/bestvideo[vcodec^=avc1][height<=720]+bestaudio[ext=m4a]/bestvideo[vcodec!*=av01][vcodec!*=vp9.2]+bestaudio/best[vcodec!*=av01][vcodec!*=vp9.2]/bestvideo[ext=mp4]+bestaudio[ext=m4a]/best' 'https://youtu.be/xGRXNMhaSrA'","cwd":"/var/www/peertube/versions/peertube-v8.0.1","durationMs":442.430952,"failed":true,"timedOut":false,"isCanceled":false,"isGracefullyCanceled":false,"isTerminated":false,"isMaxBuffer":false,"isForcefullyTerminated":false,"exitCode":2,"stdout":"","stderr":"\nUsage: yt-dlp [OPTIONS] URL [URL...]\n\nyt-dlp: error: no such option: --js-runtimes","stdio":[null,"","\nUsage: yt-dlp [OPTIONS] URL [URL...]\n\nyt-dlp: error: no such option: --js-runtimes"],"ipcOutput":[],"pipedFrom":[]}},"timestamp":"2025-12-16T22:10:58.263Z"}
{"tags":["http"],"level":"info","message":"213.108.0.0 - - [16/Dec/2025:22:10:58 +0000] \"POST /api/v1/videos/imports/ HTTP/1.0\" 400 185 \"https://angeltales.angellive.ru/videos/publish\" \"Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0\"","label":"angeltales.angellive.ru:443","timestamp":"2025-12-16T22:10:58.266Z"}
{"tags":["client"],"username":"angellive","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0","meta":"{\"url\":\"https://angeltales.angellive.ru/api/v1/videos/imports/\"}","url":"https://angeltales.angellive.ru/videos/publish#import-url","level":"error","message":"Client log: Backend returned code 400, errorMessage is: Cannot fetch information from import for URL https://youtu.be/xGRXNMhaSrA","label":"angeltales.angellive.ru:443","timestamp":"2025-12-16T22:10:58.323Z"}
{"tags":["http"],"level":"info","message":"213.108.0.0 - - [16/Dec/2025:22:10:58 +0000] \"POST /api/v1/server/logs/client HTTP/1.0\" 204 - \"https://angeltales.angellive.ru/videos/publish\" \"Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0\"","label":"angeltales.angellive.ru:443","timestamp":"2025-12-16T22:10:58.324Z"}
{"tags":["client"],"username":"angellive","userAgent":"Mozilla/5.0 (X11; Linux x86_64; rv:146.0) Gecko/20100101 Firefox/146.0","url":"https://angeltales.angellive.ru/videos/publish#import-url","level":"error","message":"Client log: Ошибка: Cannot fetch information from import for URL https://youtu.be/xGRXNMhaSrA","label":"angeltales.angellive.ru:443","timestamp":"2025-12-16T22:10:58.326Z"}
The decision to update
# Go to the folder where it is located yt-dlp cd /var/www/peertube/storage/bin/ # (Recommended) Make a backup copy of the old file mv yt-dlp yt-dlp.old # Download the latest stable version yt-dlp с GitHub sudo wget https://github.com/yt-dlp/yt-dlp/releases/latest/download/yt-dlp -O yt-dlp
# Give the file execution permissions
sudo chmod a+rx yt-dlp
You can restart sudo systemctl restart peertube
Check now the import is going fine.
How should it update itself or always manually?