diff --git a/seed/peertube/UPGRADE.md b/seed/peertube/UPGRADE.md
new file mode 100644
index 00000000..40e94d0b
--- /dev/null
+++ b/seed/peertube/UPGRADE.md
@@ -0,0 +1,7 @@
+peertube-plugin-auth-openid-connect
+===================================
+
+Modify version in:
+- peertube/manual/image/postinstall/peertube.sh
+- peertube/templates/peertube.service
+- peertube/dictionaries/30_peertube.xml
diff --git a/seed/peertube/dictionaries/30_peertube.xml b/seed/peertube/dictionaries/30_peertube.xml
index 6e627f15..490afbaa 100644
--- a/seed/peertube/dictionaries/30_peertube.xml
+++ b/seed/peertube/dictionaries/30_peertube.xml
@@ -63,7 +63,7 @@
revprox_client_external_domainnames
revprox_client_location
- plugins/auth-openid-connect/0.0.7/auth/openid-connect
+ plugins/auth-openid-connect/0.1.0/auth/openid-connect
oauth2_client_external
diff --git a/seed/peertube/manual/image/postinstall/peertube.patch b/seed/peertube/manual/image/postinstall/peertube.patch
deleted file mode 100644
index 2a8f363c..00000000
--- a/seed/peertube/manual/image/postinstall/peertube.patch
+++ /dev/null
@@ -1,60 +0,0 @@
---- peertube_plugins/node_modules/peertube-plugin-auth-openid-connect/main.js
-+++ peertube_plugins/node_modules/peertube-plugin-auth-openid-connect/main.js
-@@ -110,6 +110,14 @@ async function register ({
- descriptionHTML: 'Will only allow login for users whose group array contains this group'
- })
-
-+ registerSetting({
-+ name: 'signature-algorithm',
-+ label: 'Token signature algorithm',
-+ type: 'input',
-+ private: true,
-+ default: 'RS256'
-+ })
-+
- const router = getRouter()
- router.use('/code-cb', (req, res) => handleCb(peertubeHelpers, settingsManager, req, res))
-
-@@ -159,7 +167,8 @@ async function loadSettingsAndCreateClient (registerExternalAuth, unregisterExte
- 'scope',
- 'discover-url',
- 'client-id',
-- 'client-secret'
-+ 'client-secret',
-+ 'signature-algorithm'
- ])
-
- if (!settings['discover-url']) {
-@@ -188,6 +197,8 @@ async function loadSettingsAndCreateClient (registerExternalAuth, unregisterExte
- } else {
- clientOptions.token_endpoint_auth_method = 'none'
- }
-+ clientOptions.id_token_signed_response_alg = settings['signature-algorithm']
-+ clientOptions.authorization_signed_response_alg = settings['signature-algorithm']
-
- store.client = new issuer.Client(clientOptions)
-
---- peertube/dist/server/helpers/custom-validators/activitypub/actor.js.ori 2022-04-06 13:58:17.752681849 +0000
-+++ peertube/dist/server/helpers/custom-validators/activitypub/actor.js 2022-04-06 13:58:22.268682531 +0000
-@@ -43,8 +43,8 @@
- function isActorPrivateKeyValid(privateKey) {
- return (0, misc_1.exists)(privateKey) &&
- typeof privateKey === 'string' &&
-- privateKey.startsWith('-----BEGIN RSA PRIVATE KEY-----') &&
-- privateKey.includes('-----END RSA PRIVATE KEY-----') &&
-+ privateKey.startsWith('-----BEGIN PRIVATE KEY-----') &&
-+ privateKey.includes('-----END PRIVATE KEY-----') &&
- validator_1.default.isLength(privateKey, constants_1.CONSTRAINTS_FIELDS.ACTORS.PRIVATE_KEY);
- }
- exports.isActorPrivateKeyValid = isActorPrivateKeyValid;
---- peertube/node_modules/pem/lib/pem.js.ori 2022-04-06 13:59:36.232693763 +0000
-+++ peertube/node_modules/pem/lib/pem.js 2022-04-06 13:59:48.916695687 +0000
-@@ -74,7 +74,7 @@
-
- params.push(keyBitsize)
-
-- openssl.exec(params, 'RSA PRIVATE KEY', function (sslErr, key) {
-+ openssl.exec(params, 'PRIVATE KEY', function (sslErr, key) {
- function done (err) {
- if (err) {
- return callback(err)
diff --git a/seed/peertube/manual/image/postinstall/peertube.sh b/seed/peertube/manual/image/postinstall/peertube.sh
index 08f71466..b8e6d45b 100644
--- a/seed/peertube/manual/image/postinstall/peertube.sh
+++ b/seed/peertube/manual/image/postinstall/peertube.sh
@@ -8,7 +8,7 @@ echo "nameserver 9.9.9.9" > /etc/resolv.conf
PLUGINS_DIR=$PLUGINS_DIR
mkdir -p "\$PLUGINS_DIR"
cd "\$PLUGINS_DIR"
-yarn add peertube-plugin-auth-openid-connect@0.0.7 --production
+yarn add peertube-plugin-auth-openid-connect@0.1.0 --production
mkdir -p "\$PLUGINS_DIR/data/peertube-plugin-auth-openid-connect"
chown peertube: "\$PLUGINS_DIR/data"
chown peertube: "\$PLUGINS_DIR/data/peertube-plugin-auth-openid-connect"
@@ -23,5 +23,5 @@ rmdir "$IMAGE_NAME_RISOTTO_IMAGE_DIR/proc/self/"
rm -f "$IMAGE_NAME_RISOTTO_IMAGE_DIR/install.sh"
cd "$IMAGE_NAME_RISOTTO_IMAGE_DIR$PLUGINS_DIR/.."
-patch -p0 < "$IMAGE_DIR_RECIPIENT_IMAGE/postinstall/peertube.patch"
+#patch -p0 < "$IMAGE_DIR_RECIPIENT_IMAGE/postinstall/peertube.patch"
cd -
diff --git a/seed/peertube/manual/image/preinstall/peertube.sh b/seed/peertube/manual/image/preinstall/peertube.sh
index 453ac07e..fb672db1 100644
--- a/seed/peertube/manual/image/preinstall/peertube.sh
+++ b/seed/peertube/manual/image/preinstall/peertube.sh
@@ -1,3 +1,4 @@
-PKG="$PKG peertube yarnpkg"
+PKG="$PKG peertube peertube-tools yarnpkg"
+#PKG="$PKG peertube yarnpkg"
COPR="https://copr.fedorainfracloud.org/coprs/daftaupe/peertube/repo/fedora-36/daftaupe-peertube-fedora-36.repo"
FUSION=true
diff --git a/seed/peertube/templates/peertube.service b/seed/peertube/templates/peertube.service
index 41206015..510d9fa5 100644
--- a/seed/peertube/templates/peertube.service
+++ b/seed/peertube/templates/peertube.service
@@ -2,4 +2,4 @@
Environment=PGPASSFILE=/usr/local/lib/secrets/postgresql.pass
ExecStartPost=+/usr/bin/timeout 90 sh -c 'while ! /usr/bin/psql --set=sslmode=verify-full -h %%pg_client_server_domainname -U %%pg_client_username %%pg_client_database -c "SELECT * FROM plugin;"; do sleep 1; done'
ExecStartPost=+/usr/bin/psql --set=sslmode=verify-full -h %%pg_client_server_domainname -U %%pg_client_username %%pg_client_database -c "DELETE FROM plugin;"
-ExecStartPost=+/usr/bin/psql --set=sslmode=verify-full -h %%pg_client_server_domainname -U %%pg_client_username %%pg_client_database -c "INSERT INTO plugin (name, type, version, enabled, uninstalled, \"peertubeEngine\", description, homepage, settings, \"createdAt\", \"updatedAt\") VALUES ('auth-openid-connect', '1', '0.0.7', true, false, '>=2.2.0', 'Add OpenID connect support to login form in PeerTube.', 'https://framagit.org/framasoft/peertube/official-plugins/tree/master/peertube-plugin-auth-openid-connect', '{\"scope\": \"openid email profile\", \"client-id\": \"%%oauth2_client_id\", \"discover-url\": \"https://%%oauth2_client_server_domainname/.well-known/openid-configuration\", \"client-secret\": \"%%oauth2_client_secret\", \"mail-property\": \"email\", \"auth-display-name\": \"OpenID Connect\", \"username-property\": \"nickname\", \"signature-algorithm\": \"%%oauth2_client_token_signature_algo\", \"display-name-property\": \"email\"}', '2022-04-05 18:12:34.832+02', '2022-04-05 18:12:34.832+02')"
+ExecStartPost=+/usr/bin/psql --set=sslmode=verify-full -h %%pg_client_server_domainname -U %%pg_client_username %%pg_client_database -c "INSERT INTO plugin (name, type, version, enabled, uninstalled, \"peertubeEngine\", description, homepage, settings, \"createdAt\", \"updatedAt\") VALUES ('auth-openid-connect', '1', '0.1.0', true, false, '>=2.2.0', 'Add OpenID connect support to login form in PeerTube.', 'https://framagit.org/framasoft/peertube/official-plugins/tree/master/peertube-plugin-auth-openid-connect', '{\"scope\": \"openid email profile\", \"client-id\": \"%%oauth2_client_id\", \"discover-url\": \"https://%%oauth2_client_server_domainname/.well-known/openid-configuration\", \"client-secret\": \"%%oauth2_client_secret\", \"mail-property\": \"email\", \"auth-display-name\": \"OpenID Connect\", \"username-property\": \"nickname\", \"signature-algorithm\": \"%%oauth2_client_token_signature_algo\", \"display-name-property\": \"email\"}', '2022-04-05 18:12:34.832+02', '2022-04-05 18:12:34.832+02')"
diff --git a/seed/peertube/templates/production.yaml b/seed/peertube/templates/production.yaml
index 95ca2bc5..96f7361b 100644
--- a/seed/peertube/templates/production.yaml
+++ b/seed/peertube/templates/production.yaml
@@ -28,6 +28,10 @@ rates_limit:
# 3 attempts in 5 min
window: 5 minutes
max: 3
+ receive_client_log:
+ # 10 attempts in 10 min
+ window: 10 minutes
+ max: 10
# Proxies to trust to get real client IP
# If you run PeerTube just behind a local proxy (nginx), keep 'loopback'
@@ -49,7 +53,7 @@ database:
# Redis server for short time storage
# You can also specify a 'socket' path to a unix socket but first need to
-# comment out hostname and port
+# set 'hostname' and 'port' to null
redis:
hostname: '%%redis_client_server_domainname'
port: 6379
@@ -95,11 +99,13 @@ defaults:
licence: null
p2p:
- # Enable P2P by default
+ # Enable P2P by default in PeerTube client
# Can be enabled/disabled by anonymous users and logged in users
webapp:
enabled: true
+ # Enable P2P by default in PeerTube embed
+ # Can be enabled/disabled by URL option
embed:
enabled: true
@@ -138,6 +144,9 @@ object_storage:
region: 'us-east-1'
+ # Set this ACL on each uploaded object
+ upload_acl: 'public-read'
+
credentials:
# You can also use AWS_ACCESS_KEY_ID env variable
access_key_id: ''
@@ -145,7 +154,10 @@ object_storage:
secret_access_key: ''
# Maximum amount to upload in one request to object storage
+# GNUNUX max_upload_part: 100MB
+#>GNUNUX
max_upload_part: 2GB
+#GNUNUX
enabled : false # Enabled by default, if disabled make sure that 'storage.logs' is pointing to a folder handled by logrotate
+#GNUNUX
enabled: false
+#GNUNUX
enabled: false
+#GNUNUX
allowed: false
+#GNUNUX
enabled: true
+#GNUNUX
- fr
+#