diff --git a/CHANGELOG.md b/CHANGELOG.md index 00b19c6..fe8ed10 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -259,3 +259,19 @@ Update web browsers support list: * Add "back to live" button in player * Add Icelandic & Ukrainian locales * Add Global views default trending algorithm option in admin configuration #5471 + +[2.12.0] +* Update PeerTube to 5.2.0 +* [Full changelog](https://github.com/Chocobozzz/PeerTube/releases/tag/v5.2.0) +* Implement remote transcoding for VOD videos, Live streams and Studio editions tada #5769 +* If enabled, remote PeerTube runners can process these high CPU jobs +* Admin documentation: https://docs.joinpeertube.org/admin/remote-runners +* PeerTube runner CLI documentation: https://docs.joinpeertube.org/maintain/tools#peertube-runner +* Demonstration video: https://peertube2.cpy.re/w/oJwHHYwt4oKjKhLNh2diAY +* Architecture documentation: https://docs.joinpeertube.org/contribute/architecture#remote-vod-live-transcoding +* Add Podcast RSS feed support: #5487 +* Add ability to set custom privacy for live replays #5692 +* Render images of markdown fields in About page #5732 +* Admin can disable user video history by default #5728 +* Improve global accessibility + diff --git a/CloudronManifest.json b/CloudronManifest.json index 068cc1f..327e095 100644 --- a/CloudronManifest.json +++ b/CloudronManifest.json @@ -1,6 +1,6 @@ { - "version": "2.11.0", - "upstreamVersion": "5.1.0", + "version": "2.12.0", + "upstreamVersion": "5.2.0", "id": "org.joinpeertube.cloudronapp", "title": "PeerTube", "author": "PeerTube developers", diff --git a/Dockerfile b/Dockerfile index 6d09cf3..66fc000 100644 --- a/Dockerfile +++ b/Dockerfile @@ -4,14 +4,14 @@ RUN mkdir -p /app/code/server /app/pkg WORKDIR /app/code/server # https://github.com/Chocobozzz/PeerTube/blob/develop/support/doc/dependencies.md -ARG NODEJS_VERSION=16.13.2 -RUN mkdir -p /usr/local/node-${NODEJS_VERSION} && \ - curl -L https://nodejs.org/dist/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-x64.tar.gz | tar zxf - --strip-components 1 -C /usr/local/node-${NODEJS_VERSION} -ENV PATH /usr/local/node-${NODEJS_VERSION}/bin:$PATH +# ARG NODEJS_VERSION=16.13.2 +# RUN mkdir -p /usr/local/node-${NODEJS_VERSION} && \ +# curl -L https://nodejs.org/dist/v${NODEJS_VERSION}/node-v${NODEJS_VERSION}-linux-x64.tar.gz | tar zxf - --strip-components 1 -C /usr/local/node-${NODEJS_VERSION} +# ENV PATH /usr/local/node-${NODEJS_VERSION}/bin:$PATH RUN apt update && apt install -y prosody && rm -rf /var/cache/apt /var/lib/apt/lists -ARG VERSION=5.1.0 +ARG VERSION=5.2.0 # install peertube. the chown is required for some reason for ffmpeg. it fails with EROFS without it when transcoding RUN curl -sL https://github.com/Chocobozzz/PeerTube/releases/download/v${VERSION}/peertube-v${VERSION}.tar.xz | tar --strip-components 1 -Jxvf - && \ diff --git a/start.sh b/start.sh index beb33c5..9e0c7b9 100755 --- a/start.sh +++ b/start.sh @@ -2,7 +2,7 @@ set -eu -mkdir -p /app/data/storage /run/peertube/cache +mkdir -p /app/data/storage /run/peertube/cache /tmp/peertube # do not rely on WORKDIR cd /app/code/server @@ -73,6 +73,7 @@ update_config() { # ensure settings which were later added yq eval ".storage.bin = \"/app/data/storage/bin/\"" -i /app/data/production.yaml yq eval ".storage.well_known = \"/app/data/storage/well_known/\"" -i /app/data/production.yaml + yq eval ".storage.tmp_persistent = \"/app/data/storage/tmp_persistent/\"" -i /app/data/production.yaml } # cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh @@ -88,7 +89,7 @@ else [[ -n "${CLOUDRON_LDAP_SERVER:-}" ]] && update_ldap fi -chown -R cloudron:cloudron /app/data /run/peertube +chown -R cloudron:cloudron /app/data /run/peertube /tmp/peertube echo "==> Starting PeerTube" exec gosu cloudron:cloudron npm start diff --git a/test/package-lock.json b/test/package-lock.json index 0b96f5d..13511da 100644 --- a/test/package-lock.json +++ b/test/package-lock.json @@ -9,8 +9,8 @@ "version": "1.0.0", "license": "ISC", "dependencies": { - "chromedriver": "^111.0.0", - "selenium-webdriver": "^4.8.1" + "chromedriver": "^114.0.2", + "selenium-webdriver": "^4.10.0" }, "devDependencies": { "expect.js": "^0.3.1", @@ -106,9 +106,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "node_modules/axios": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", - "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "dependencies": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -232,14 +232,14 @@ } }, "node_modules/chromedriver": { - "version": "111.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-111.0.0.tgz", - "integrity": "sha512-XavNYNBBfKIrT8Oi/ywJ0DoOOU+jHF5bQWTkqStFsAXvfCV9VzYN3J+TGAvZdrpXeoixqPRGUxQ2yZhD2iowdQ==", + "version": "114.0.2", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-114.0.2.tgz", + "integrity": "sha512-v0qrXRBknbxqmtklG7RWOe3TJ/dLaHhtB0jVxE7BAdYERxUjEaNRyqBwoGgVfQDibHCB0swzvzsj158nnfPgZw==", "hasInstallScript": true, "dependencies": { "@testim/chrome-version": "^1.1.3", - "axios": "^1.2.1", - "compare-versions": "^5.0.1", + "axios": "^1.4.0", + "compare-versions": "^5.0.3", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^1.1.0", @@ -249,7 +249,7 @@ "chromedriver": "bin/chromedriver" }, "engines": { - "node": ">=14" + "node": ">=16" } }, "node_modules/cliui": { @@ -293,9 +293,9 @@ } }, "node_modules/compare-versions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz", - "integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==" + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", + "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -732,9 +732,9 @@ } }, "node_modules/jszip": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz", - "integrity": "sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -1010,9 +1010,9 @@ } }, "node_modules/readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -1084,13 +1084,13 @@ ] }, "node_modules/selenium-webdriver": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz", - "integrity": "sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.10.0.tgz", + "integrity": "sha512-hSQPw6jgc+ej/UEcdQPG/iBwwMeCEgZr9HByY/J8ToyXztEqXzU9aLsIyrlj1BywBcStO4JQK/zMUWWrV8+riA==", "dependencies": { - "jszip": "^3.10.0", + "jszip": "^3.10.1", "tmp": "^0.2.1", - "ws": ">=8.11.0" + "ws": ">=8.13.0" }, "engines": { "node": ">= 14.20.0" @@ -1258,9 +1258,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "node_modules/ws": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz", - "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "engines": { "node": ">=10.0.0" }, @@ -1422,9 +1422,9 @@ "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, "axios": { - "version": "1.3.4", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.3.4.tgz", - "integrity": "sha512-toYm+Bsyl6VC5wSkfkbbNB6ROv7KY93PEBBL6xyDczaIHasAiv4wPqQ/c4RjoQzipxRD2W5g21cOqQulZ7rHwQ==", + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", "requires": { "follow-redirects": "^1.15.0", "form-data": "^4.0.0", @@ -1515,13 +1515,13 @@ } }, "chromedriver": { - "version": "111.0.0", - "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-111.0.0.tgz", - "integrity": "sha512-XavNYNBBfKIrT8Oi/ywJ0DoOOU+jHF5bQWTkqStFsAXvfCV9VzYN3J+TGAvZdrpXeoixqPRGUxQ2yZhD2iowdQ==", + "version": "114.0.2", + "resolved": "https://registry.npmjs.org/chromedriver/-/chromedriver-114.0.2.tgz", + "integrity": "sha512-v0qrXRBknbxqmtklG7RWOe3TJ/dLaHhtB0jVxE7BAdYERxUjEaNRyqBwoGgVfQDibHCB0swzvzsj158nnfPgZw==", "requires": { "@testim/chrome-version": "^1.1.3", - "axios": "^1.2.1", - "compare-versions": "^5.0.1", + "axios": "^1.4.0", + "compare-versions": "^5.0.3", "extract-zip": "^2.0.1", "https-proxy-agent": "^5.0.1", "proxy-from-env": "^1.1.0", @@ -1563,9 +1563,9 @@ } }, "compare-versions": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.1.tgz", - "integrity": "sha512-v8Au3l0b+Nwkp4G142JcgJFh1/TUhdxut7wzD1Nq1dyp5oa3tXaqb03EXOAB6jS4gMlalkjAUPZBMiAfKUixHQ==" + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-5.0.3.tgz", + "integrity": "sha512-4UZlZP8Z99MGEY+Ovg/uJxJuvoXuN4M6B3hKaiackiHrgzQFEe3diJi1mf1PNHbFujM7FvLrK2bpgIaImbtZ1A==" }, "concat-map": { "version": "0.0.1", @@ -1869,9 +1869,9 @@ } }, "jszip": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz", - "integrity": "sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==", + "version": "3.10.1", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.1.tgz", + "integrity": "sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==", "requires": { "lie": "~3.3.0", "pako": "~1.0.2", @@ -2081,9 +2081,9 @@ } }, "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "version": "2.3.8", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", + "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", "requires": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", @@ -2131,13 +2131,13 @@ "dev": true }, "selenium-webdriver": { - "version": "4.8.1", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.8.1.tgz", - "integrity": "sha512-p4MtfhCQdcV6xxkS7eI0tQN6+WNReRULLCAuT4RDGkrjfObBNXMJ3WT8XdK+aXTr5nnBKuh+PxIevM0EjJgkxA==", + "version": "4.10.0", + "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-4.10.0.tgz", + "integrity": "sha512-hSQPw6jgc+ej/UEcdQPG/iBwwMeCEgZr9HByY/J8ToyXztEqXzU9aLsIyrlj1BywBcStO4JQK/zMUWWrV8+riA==", "requires": { - "jszip": "^3.10.0", + "jszip": "^3.10.1", "tmp": "^0.2.1", - "ws": ">=8.11.0" + "ws": ">=8.13.0" } }, "serialize-javascript": { @@ -2268,9 +2268,9 @@ "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" }, "ws": { - "version": "8.12.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.12.1.tgz", - "integrity": "sha512-1qo+M9Ba+xNhPB+YTWUlK6M17brTut5EXbcBaMRN5pH5dFrXz7lzz1ChFSUq3bOUl8yEvSenhHmYUNJxFzdJew==", + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", "requires": {} }, "y18n": { diff --git a/test/package.json b/test/package.json index 1a1d1a8..f72b067 100644 --- a/test/package.json +++ b/test/package.json @@ -13,7 +13,7 @@ "mocha": "^10.2.0" }, "dependencies": { - "chromedriver": "^111.0.0", - "selenium-webdriver": "^4.8.1" + "chromedriver": "^114.0.2", + "selenium-webdriver": "^4.10.0" } }