From 9516c25ac4594f5d4c9700bdaae29982d7bd69a3 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sun, 12 Sep 2021 15:19:51 +0200 Subject: [PATCH 01/40] Update systemd.service --- conf/systemd.service | 45 +++++++++++++++++++++++++++----------------- 1 file changed, 28 insertions(+), 17 deletions(-) diff --git a/conf/systemd.service b/conf/systemd.service index 07fff0d..793432f 100644 --- a/conf/systemd.service +++ b/conf/systemd.service @@ -16,24 +16,35 @@ StandardError=syslog SyslogIdentifier=__APP__ Restart=always -; Some security directives. -; Use private /tmp and /var/tmp folders inside a new file system namespace, -; which are discarded after the process stops. -PrivateTmp=true -; Mount /usr, /boot, and /etc as read-only for processes invoked by this service. +# Sandboxing options to harden security +# Depending on specificities of your service/app, you may need to tweak these +# .. but this should be a good baseline +# Details for these options: https://www.freedesktop.org/software/systemd/man/systemd.exec.html +NoNewPrivileges=yes +PrivateTmp=yes +PrivateDevices=yes +RestrictAddressFamilies=AF_UNIX AF_INET AF_INET6 +RestrictNamespaces=yes +RestrictRealtime=yes +DevicePolicy=closed ProtectSystem=full -; Sets up a new /dev mount for the process and only adds API pseudo devices -; like /dev/null, /dev/zero or /dev/random but not physical devices. Disabled -; by default because it may not work on devices like the Raspberry Pi. -PrivateDevices=false -; Ensures that the service process and all its children can never gain new -; privileges through execve(). -NoNewPrivileges=true -; This makes /home, /root, and /run/user inaccessible and empty for processes invoked -; by this unit. Make sure that you do not depend on data inside these folders. -ProtectHome=false -; Drops the sys admin capability from the daemon. -CapabilityBoundingSet=~CAP_SYS_ADMIN +ProtectControlGroups=yes +ProtectKernelModules=yes +ProtectKernelTunables=yes +LockPersonality=yes +SystemCallFilter=~@clock @debug @module @mount @obsolete @reboot @setuid @swap + +# Denying access to capabilities that should not be relevant for webapps +# Doc: https://man7.org/linux/man-pages/man7/capabilities.7.html +CapabilityBoundingSet=~CAP_RAWIO CAP_MKNOD +CapabilityBoundingSet=~CAP_AUDIT_CONTROL CAP_AUDIT_READ CAP_AUDIT_WRITE +CapabilityBoundingSet=~CAP_SYS_BOOT CAP_SYS_TIME CAP_SYS_MODULE CAP_SYS_PACCT +CapabilityBoundingSet=~CAP_LEASE CAP_LINUX_IMMUTABLE CAP_IPC_LOCK +CapabilityBoundingSet=~CAP_BLOCK_SUSPEND CAP_WAKE_ALARM +CapabilityBoundingSet=~CAP_SYS_TTY_CONFIG +CapabilityBoundingSet=~CAP_MAC_ADMIN CAP_MAC_OVERRIDE +CapabilityBoundingSet=~CAP_NET_ADMIN CAP_NET_BROADCAST CAP_NET_RAW +CapabilityBoundingSet=~CAP_SYS_ADMIN CAP_SYS_PTRACE CAP_SYSLOG [Install] WantedBy=multi-user.target From 86465fe36bb5f36a3fb64ede3ac8304d9f7511cf Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 23 Oct 2021 16:51:34 +0200 Subject: [PATCH 02/40] Fix disclaimer/description encoding making autoreadme crash --- doc/DISCLAIMER_fr.md | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/doc/DISCLAIMER_fr.md b/doc/DISCLAIMER_fr.md index c5f5f5f..acc6ba9 100644 --- a/doc/DISCLAIMER_fr.md +++ b/doc/DISCLAIMER_fr.md @@ -1,27 +1,27 @@ ## Vue d'ensemble ### Qu'est-ce que PeerTube ? -PeerTube est une plateforme de streaming vidéo fédérée (ActivityPub) utilisant P2P (BitTorrent) directement dans le navigateur Web, en utilisant WebTorrent . +PeerTube est une plateforme de streaming vidĂ©o fĂ©dĂ©rĂ©e (ActivityPub) utilisant P2P (BitTorrent) directement dans le navigateur Web, en utilisant WebTorrent . ### Pourquoi PeerTube? -Nous ne pouvons pas créer d'alternatives de streaming vidéo FOSS à YouTube, Dailymotion, Vimeo... avec un logiciel centralisé. Une organisation seule ne peut pas avoir assez d'argent pour payer la bande passante et le stockage vidéo de son serveur. -Nous avons donc besoin d'un réseau décentralisé de serveurs « semant » des vidéos (comme [Hubzilla YunoHost](https://github.com/YunoHost-Apps/hubzilla_ynh), [Friendica YunoHost](https://github.com/YunoHost-Apps/friendica_ynh), [Mastodon YunoHost](https://github.com/YunoHost-Apps/mastodon_ynh)), [Diaspora](https://github.com/diaspora/diaspora) ([Diaspora YunoHost](https://github.com/YunoHost-Apps/diaspora_ynh)),[Funkwhale](https://funkwhale.audio) ([Funkwhale YunoHost](https://github.com/YunoHost-Apps/funkwhale_ynh)). -Mais ce n'est pas suffisant car une vidéo pourrait devenir célèbre et surcharger le serveur. C'est la raison pour laquelle nous devons utiliser un protocole P2P pour limiter la charge du serveur. Grâce à [WebTorrent](https://github.com/feross/webtorrent), nous pouvons faire du P2P (donc BitTorrent) dans le navigateur Web, dès aujourd'hui. +Nous ne pouvons pas crĂ©er d'alternatives de streaming vidĂ©o FOSS Ă  YouTube, Dailymotion, Vimeo... avec un logiciel centralisĂ©. Une organisation seule ne peut pas avoir assez d'argent pour payer la bande passante et le stockage vidĂ©o de son serveur. +Nous avons donc besoin d'un rĂ©seau dĂ©centralisĂ© de serveurs « semant » des vidĂ©os (comme [Hubzilla YunoHost](https://github.com/YunoHost-Apps/hubzilla_ynh), [Friendica YunoHost](https://github.com/YunoHost-Apps/friendica_ynh), [Mastodon YunoHost](https://github.com/YunoHost-Apps/mastodon_ynh)), [Diaspora](https://github.com/diaspora/diaspora) ([Diaspora YunoHost](https://github.com/YunoHost-Apps/diaspora_ynh)),[Funkwhale](https://funkwhale.audio) ([Funkwhale YunoHost](https://github.com/YunoHost-Apps/funkwhale_ynh)). +Mais ce n'est pas suffisant car une vidĂ©o pourrait devenir cĂ©lĂšbre et surcharger le serveur. C'est la raison pour laquelle nous devons utiliser un protocole P2P pour limiter la charge du serveur. GrĂące Ă  [WebTorrent](https://github.com/feross/webtorrent), nous pouvons faire du P2P (donc BitTorrent) dans le navigateur Web, dĂšs aujourd'hui. ### Pourquoi est-ce cool ? -Les serveurs sont gérés indépendamment par différentes personnes et organisations. Ils peuvent appliquer des politiques de modération extrêmement différentes, afin que vous puissiez en trouver ou en créer une qui correspond parfaitement à vos goûts. +Les serveurs sont gĂ©rĂ©s indĂ©pendamment par diffĂ©rentes personnes et organisations. Ils peuvent appliquer des politiques de modĂ©ration extrĂȘmement diffĂ©rentes, afin que vous puissiez en trouver ou en crĂ©er une qui correspond parfaitement Ă  vos goĂ»ts. -En regardant une vidéo, vous aidez l'hébergeur à la diffuser en devenant vous-même un diffuseur de la vidéo. Chaque instance n'a pas besoin de beaucoup d'argent pour diffuser les vidéos de ses utilisateurs. +En regardant une vidĂ©o, vous aidez l'hĂ©bergeur Ă  la diffuser en devenant vous-mĂȘme un diffuseur de la vidĂ©o. Chaque instance n'a pas besoin de beaucoup d'argent pour diffuser les vidĂ©os de ses utilisateurs. -## Points importants à lire avant l'installation +## Points importants Ă  lire avant l'installation -1. Nécessite un **domaine dédié** comme **peertube.domain.tld**. +1. NĂ©cessite un **domaine dĂ©diĂ©** comme **peertube.domain.tld**. 1. Le nom d'utilisateur de l'administrateur est: **root**. -1. **Le mot de passe administrateur et la configuration LDAP** seront envoyés à l'adresse email indiquée au moment de l'installation. -1. L'URL ne peut pas être modifiée une fois sélectionnée. Choisissez judicieusement le domaine. -1. Vous avez besoin de plus de **1 Go** de RAM. Si vous ne l'avez pas, veuillez créer une **mémoire swap**. +1. **Le mot de passe administrateur et la configuration LDAP** seront envoyĂ©s Ă  l'adresse email indiquĂ©e au moment de l'installation. +1. L'URL ne peut pas ĂȘtre modifiĂ©e une fois sĂ©lectionnĂ©e. Choisissez judicieusement le domaine. +1. Vous avez besoin de plus de **1 Go** de RAM. Si vous ne l'avez pas, veuillez crĂ©er une **mĂ©moire swap**. $ dd if=/dev/zero of=/swapfile bs=1024 count=1048576 @@ -29,12 +29,12 @@ En regardant une vid $ swapon /swapfile $ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab -1. Cette application est **multi-instance** (vous pouvez avoir plus d'une instance PeerTube en cours d'exécution sur un serveur YunoHost) -1. **Si vous êtes hébergé sur une machine virtuelle OVH ou rencontrez `gyp ERR! configure error`, veuillez passer à [ovh_fix](https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix)** +1. Cette application est **multi-instance** (vous pouvez avoir plus d'une instance PeerTube en cours d'exĂ©cution sur un serveur YunoHost) +1. **Si vous ĂȘtes hĂ©bergĂ© sur une machine virtuelle OVH ou rencontrez `gyp ERR! configure error`, veuillez passer Ă  [ovh_fix](https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix)** -## Caractéristiques spécifiques YunoHost +## CaractĂ©ristiques spĂ©cifiques YunoHost #### Support multi-utilisateur -* L'authentification LDAP est prise en charge, les instructions de configuration sont envoyées à l'adresse email indiquée au moment de l'installation +* L'authentification LDAP est prise en charge, les instructions de configuration sont envoyĂ©es Ă  l'adresse email indiquĂ©e au moment de l'installation * L'authentification HTTP n'est pas prise en charge From a7ac3db9b7910e5865ba7b651081deacce67adc5 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 23 Oct 2021 17:05:11 +0200 Subject: [PATCH 03/40] DISCLAIMER.md had funky encoding too.. --- doc/DISCLAIMER.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/DISCLAIMER.md b/doc/DISCLAIMER.md index ab538c6..f7d823e 100644 --- a/doc/DISCLAIMER.md +++ b/doc/DISCLAIMER.md @@ -10,7 +10,7 @@ Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (t ### Why is that cool? Servers are run independently by different people and organizations. They can apply wildly different moderation policies, so you can find or make one that fits your taste perfectly. -By watching a video, you help the hosting provider to broadcast it by becoming a broadcaster of the video yourself. Each instance doesn’t need much money to broadcast the videos of its users. +By watching a video, you help the hosting provider to broadcast it by becoming a broadcaster of the video yourself. Each instance doesn't need much money to broadcast the videos of its users. * Any known limitations, constrains or stuff not working, such as (but not limited to): * Require **dedicated domain** like **peertube.domain.tld**. From 4ab595924c572f7121c57edf2dae85ebc95a86e6 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sat, 23 Oct 2021 15:05:22 +0000 Subject: [PATCH 04/40] Auto-update README --- README.md | 86 ++++++++++++++++++++++------------------------------ README_fr.md | 61 ++++++++++++++++++------------------- 2 files changed, 67 insertions(+), 80 deletions(-) diff --git a/README.md b/README.md index 1f38a85..9593971 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,8 @@ + + # PeerTube for YunoHost [![Integration level](https://dash.yunohost.org/integration/peertube.svg)](https://dash.yunohost.org/appci/app/peertube) ![](https://ci-apps.yunohost.org/ci/badges/peertube.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/peertube.maintain.svg) @@ -5,13 +10,22 @@ *[Lire ce readme en français.](./README_fr.md)* -> *This package allows you to install PeerTube quickly and simply on a YunoHost server. +> *This package allows you to install PeerTube quickly and simply on a YunoHost server. If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/install) to learn how to install it.* ## Overview -### What is PeerTube? -PeerTube is a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser, using WebTorrent. +Video streaming platform using P2P directly in the web browser, connected to a federated network + +**Shipped version:** 3.4.1~ynh1 + +**Demo:** http://peertube.cpy.re + +## Screenshots + +![](./doc/screenshots/screenshot1.png) + +## Disclaimers / important information ### Why PeerTube? @@ -25,61 +39,33 @@ Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (t ### Why is that cool? Servers are run independently by different people and organizations. They can apply wildly different moderation policies, so you can find or make one that fits your taste perfectly. -By watching a video, you help the hosting provider to broadcast it by becoming a broadcaster of the video yourself. Each instance doesn’t need much money to broadcast the videos of its users. +By watching a video, you help the hosting provider to broadcast it by becoming a broadcaster of the video yourself. Each instance doesn't need much money to broadcast the videos of its users. -**Shipped version:** 3.4.1 - -## Important points to read before installing - -1. Require **dedicated domain** like **peertube.domain.tld**. -1. Admin username is: **root**. -1. **Admin password and LDAP configuration** will be sent to the email address given at the time of the installation. -1. URL can not be changed once selected. Choose the domain wisely. -1. You need more then **1 GB** of RAM. If you don't have it, please create a **swap memory**. +* Any known limitations, constrains or stuff not working, such as (but not limited to): + * Require **dedicated domain** like **peertube.domain.tld**. + * Admin username is: **root**. + * **Admin password and LDAP configuration** will be sent to the email address given at the time of the installation. + * URL can not be changed once selected. Choose the domain wisely. + * You need more then **1 GB** of RAM. If you don't have it, please create a **swap memory**. $ dd if=/dev/zero of=/swapfile bs=1024 count=1048576 $ mkswap /swapfile $ swapon /swapfile $ echo "/swapfile swap swap defaults 0 0" >> /etc/fstab -1. This app is **multi-instance** (you can have more then one PeerTube instance running on a YunoHost server) -1. **If you are hosted on OVH virtual machine or experiencing `gyp ERR! configure error`, please switch to [ovh_fix](https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix)** - -## Screenshots + * This app is **multi-instance** (you can have more then one PeerTube instance running on a YunoHost server) + * **If you are hosted on OVH virtual machine or experiencing `gyp ERR! configure error`, please switch to [ovh_fix](https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix)** + * LDAP auth is supported, LDAP configuration will be sent to the email address given at the time of the installation. + * HTTP auth is not supported -![](https://framablog.org/wp-content/uploads/2018/03/Framatube-au-lancement.png) +## Documentation and resources -## Demo - -Want to see in action? - - * [Here](http://peertube.cpy.re) are the list of instances ran by people around the world. Be a part of it. - -## Documentation - - * Official documentation: https://docs.joinpeertube.org/ - * YunoHost documentation: https://yunohost.org/#/app_peertube - -## YunoHost specific features - -#### Multi-user support - -* LDAP auth is supported, LDAP configuration will be sent to the email address given at the time of the installation. -* HTTP auth is not supported - -#### Supported architectures - -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/peertube.svg)](https://ci-apps.yunohost.org/ci/apps/peertube/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/peertube.svg)](https://ci-apps-arm.yunohost.org/ci/apps/peertube/) - -## Links - - * Report a bug: https://github.com/YunoHost-Apps/peertube_ynh/issues - * App website: https://joinpeertube.org/fr/ - * Upstream app repository: https://github.com/Chocobozzz/PeerTube/ - * YunoHost website: https://yunohost.org/ - ---- +* Official app website: https://joinpeertube.org/fr/ +* Official user documentation: https://yunohost.org/#/app_peertube +* Official admin documentation: https://docs.joinpeertube.org/ +* Upstream app code repository: https://github.com/Chocobozzz/PeerTube/ +* YunoHost documentation for this app: https://yunohost.org/app_peertube +* Report a bug: https://github.com/YunoHost-Apps/peertube_ynh/issues ## Developer info @@ -91,3 +77,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/peertube_ynh/tree/tes or sudo yunohost app upgrade peertube -u https://github.com/YunoHost-Apps/peertube_ynh/tree/testing --debug ``` + +**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file diff --git a/README_fr.md b/README_fr.md index 20930c5..2a9475e 100644 --- a/README_fr.md +++ b/README_fr.md @@ -3,28 +3,43 @@ [![Niveau d'intĂ©gration](https://dash.yunohost.org/integration/peertube.svg)](https://dash.yunohost.org/appci/app/peertube) ![](https://ci-apps.yunohost.org/ci/badges/peertube.status.svg) ![](https://ci-apps.yunohost.org/ci/badges/peertube.maintain.svg) [![Installer PeerTube avec YunoHost](https://install-app.yunohost.org/install-with-yunohost.svg)](https://install-app.yunohost.org/?app=peertube) -*[Read this readme in english.](./README.md)* +*[Read this readme in english.](./README.md)* +*[Lire ce readme en français.](./README_fr.md)* -> *Ce package vous permet d'installer PeerTube rapidement et simplement sur un serveur YunoHost. -Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.* +> *Ce package vous permet d'installer PeerTube rapidement et simplement sur un serveur YunoHost. +Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour savoir comment l'installer et en profiter.* + +## Vue d'ensemble + +Plateforme de diffusion vidĂ©o par P2P directement dans le navigateur, et connectĂ©e Ă  un rĂ©seau fĂ©dĂ©ralisĂ© + +**Version incluse :** 3.4.1~ynh1 + +**DĂ©mo :** http://peertube.cpy.re + +## Captures d'Ă©cran + +![](./doc/screenshots/screenshot1.png) + +## Avertissements / informations importantes ## Vue d'ensemble ### Qu'est-ce que PeerTube ? PeerTube est une plateforme de streaming vidĂ©o fĂ©dĂ©rĂ©e (ActivityPub) utilisant P2P (BitTorrent) directement dans le navigateur Web, en utilisant WebTorrent . -### Why PeerTube? + +### Pourquoi PeerTube? Nous ne pouvons pas crĂ©er d'alternatives de streaming vidĂ©o FOSS Ă  YouTube, Dailymotion, Vimeo... avec un logiciel centralisĂ©. Une organisation seule ne peut pas avoir assez d'argent pour payer la bande passante et le stockage vidĂ©o de son serveur. Nous avons donc besoin d'un rĂ©seau dĂ©centralisĂ© de serveurs « semant » des vidĂ©os (comme [Hubzilla YunoHost](https://github.com/YunoHost-Apps/hubzilla_ynh), [Friendica YunoHost](https://github.com/YunoHost-Apps/friendica_ynh), [Mastodon YunoHost](https://github.com/YunoHost-Apps/mastodon_ynh)), [Diaspora](https://github.com/diaspora/diaspora) ([Diaspora YunoHost](https://github.com/YunoHost-Apps/diaspora_ynh)),[Funkwhale](https://funkwhale.audio) ([Funkwhale YunoHost](https://github.com/YunoHost-Apps/funkwhale_ynh)). Mais ce n'est pas suffisant car une vidĂ©o pourrait devenir cĂ©lĂšbre et surcharger le serveur. C'est la raison pour laquelle nous devons utiliser un protocole P2P pour limiter la charge du serveur. GrĂące Ă  [WebTorrent](https://github.com/feross/webtorrent), nous pouvons faire du P2P (donc BitTorrent) dans le navigateur Web, dĂšs aujourd'hui. ### Pourquoi est-ce cool ? + Les serveurs sont gĂ©rĂ©s indĂ©pendamment par diffĂ©rentes personnes et organisations. Ils peuvent appliquer des politiques de modĂ©ration extrĂȘmement diffĂ©rentes, afin que vous puissiez en trouver ou en crĂ©er une qui correspond parfaitement Ă  vos goĂ»ts. En regardant une vidĂ©o, vous aidez l'hĂ©bergeur Ă  la diffuser en devenant vous-mĂȘme un diffuseur de la vidĂ©o. Chaque instance n'a pas besoin de beaucoup d'argent pour diffuser les vidĂ©os de ses utilisateurs. -**Version incluse :** 3.4.1 - ## Points importants Ă  lire avant l'installation 1. NĂ©cessite un **domaine dĂ©diĂ©** comme **peertube.domain.tld**. @@ -42,19 +57,6 @@ En regardant une vidĂ©o, vous aidez l'hĂ©bergeur Ă  la diffuser en devenant vous 1. Cette application est **multi-instance** (vous pouvez avoir plus d'une instance PeerTube en cours d'exĂ©cution sur un serveur YunoHost) 1. **Si vous ĂȘtes hĂ©bergĂ© sur une machine virtuelle OVH ou rencontrez `gyp ERR! configure error`, veuillez passer Ă  [ovh_fix](https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix)** -## Captures d'Ă©cran - -![](https://framablog.org/wp-content/uploads/2018/03/Framatube-au-lancement.png) - -## DĂ©mo - - * [DĂ©mo](http://peertube.cpy.re) - -## Documentation - - * Documentation officielle : https://docs.joinpeertube.org/ - * Documentation YunoHost : https://yunohost.org/#/app_peertube_fr - ## CaractĂ©ristiques spĂ©cifiques YunoHost #### Support multi-utilisateur @@ -62,19 +64,14 @@ En regardant une vidĂ©o, vous aidez l'hĂ©bergeur Ă  la diffuser en devenant vous * L'authentification LDAP est prise en charge, les instructions de configuration sont envoyĂ©es Ă  l'adresse email indiquĂ©e au moment de l'installation * L'authentification HTTP n'est pas prise en charge -#### Architectures supportĂ©es +## Documentations et ressources -* x86-64 - [![Build Status](https://ci-apps.yunohost.org/ci/logs/peertube.svg)](https://ci-apps.yunohost.org/ci/apps/peertube/) -* ARMv8-A - [![Build Status](https://ci-apps-arm.yunohost.org/ci/logs/peertube.svg)](https://ci-apps-arm.yunohost.org/ci/apps/peertube/) - -## Liens - - * Signaler un bug : https://github.com/YunoHost-Apps/peertube_ynh/issues - * Site de l'application : https://joinpeertube.org/fr/ - * DĂ©pĂŽt de l'application principale : https://github.com/Chocobozzz/PeerTube/ - * Site web YunoHost : https://yunohost.org/ - ---- +* Site officiel de l'app : https://joinpeertube.org/fr/ +* Documentation officielle utilisateur : https://yunohost.org/#/app_peertube +* Documentation officielle de l'admin : https://docs.joinpeertube.org/ +* DĂ©pĂŽt de code officiel de l'app : https://github.com/Chocobozzz/PeerTube/ +* Documentation YunoHost pour cette app : https://yunohost.org/app_peertube +* Signaler un bug : https://github.com/YunoHost-Apps/peertube_ynh/issues ## Informations pour les dĂ©veloppeurs @@ -86,3 +83,5 @@ sudo yunohost app install https://github.com/YunoHost-Apps/peertube_ynh/tree/tes ou sudo yunohost app upgrade peertube -u https://github.com/YunoHost-Apps/peertube_ynh/tree/testing --debug ``` + +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file From 5a2d98be14ab9463198f4c21de4d5f48c0bc8471 Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Mon, 29 Nov 2021 15:43:10 +0100 Subject: [PATCH 05/40] Bump package version --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 3dcf072..863dafc 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Video streaming platform using P2P directly in the web browser, connected to a federated network", "fr": "Plateforme de diffusion vidĂ©o par P2P directement dans le navigateur, et connectĂ©e Ă  un rĂ©seau fĂ©dĂ©ralisĂ©" }, - "version": "3.4.1~ynh1", + "version": "3.4.1~ynh2", "url": "https://github.com/Chocobozzz/PeerTube", "upstream": { "license": "AGPL-3.0-only", From 8b1a1df184c7d45114c1088c75e809f5db16d61f Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Mon, 29 Nov 2021 14:43:13 +0000 Subject: [PATCH 06/40] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 9593971..3a24609 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Video streaming platform using P2P directly in the web browser, connected to a federated network -**Shipped version:** 3.4.1~ynh1 +**Shipped version:** 3.4.1~ynh2 **Demo:** http://peertube.cpy.re diff --git a/README_fr.md b/README_fr.md index 2a9475e..abcffe1 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Plateforme de diffusion vidĂ©o par P2P directement dans le navigateur, et connectĂ©e Ă  un rĂ©seau fĂ©dĂ©ralisĂ© -**Version incluse :** 3.4.1~ynh1 +**Version incluse :** 3.4.1~ynh2 **DĂ©mo :** http://peertube.cpy.re From 8306bf10adccc244f6e2be76b64dc0717fa64b81 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 30 Nov 2021 11:37:52 +0100 Subject: [PATCH 07/40] 4.3 --- conf/app.src | 1 - conf/nginx.conf | 3 --- scripts/_common.sh | 4 ++-- scripts/restore | 3 +-- 4 files changed, 3 insertions(+), 8 deletions(-) diff --git a/conf/app.src b/conf/app.src index 70ce977..41733d4 100644 --- a/conf/app.src +++ b/conf/app.src @@ -3,5 +3,4 @@ SOURCE_SUM=dd7357529826beb071a86e6f76bc2eb99b0d6481a71566db1cb2f6cf8a4a6305 SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.xz SOURCE_IN_SUBDIR=true -SOURCE_FILENAME= SOURCE_EXTRACT=true diff --git a/conf/nginx.conf b/conf/nginx.conf index 7acd1e7..fab5c24 100644 --- a/conf/nginx.conf +++ b/conf/nginx.conf @@ -26,9 +26,6 @@ location = /api/v1/videos/upload-resumable { } location / { - if ($scheme = http) { - rewrite ^ https://$server_name$request_uri? permanent; - } try_files /dev/null @api; diff --git a/scripts/_common.sh b/scripts/_common.sh index d6aa49f..5e43880 100644 --- a/scripts/_common.sh +++ b/scripts/_common.sh @@ -5,9 +5,9 @@ #================================================= # dependencies used by the app -pkg_dependencies="ffmpeg postgresql postgresql-contrib openssl g++ redis-server redis-tools mailutils apt-transport-https" +pkg_dependencies="ffmpeg postgresql postgresql-contrib openssl g++ mailutils apt-transport-https" -NODEJS_VERSION=14 +NODEJS_VERSION=16 #================================================= # PERSONAL HELPERS diff --git a/scripts/restore b/scripts/restore index e353cd5..5fbf9b6 100644 --- a/scripts/restore +++ b/scripts/restore @@ -42,8 +42,7 @@ datadir=$(ynh_app_setting_get --app=$app --key=datadir) #================================================= ynh_script_progression --message="Validating restoration parameters..." -test ! -d $final_path \ - || ynh_die --message="There is already a directory: $final_path " +test ! -d $final_path || ynh_die --message="There is already a directory: $final_path " #================================================= # STANDARD RESTORATION STEPS From 6b0b7c26211aaebefe5fb601e115a8463d393cdb Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 30 Nov 2021 11:38:23 +0100 Subject: [PATCH 08/40] Update manifest.json --- manifest.json | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/manifest.json b/manifest.json index 863dafc..84d1978 100644 --- a/manifest.json +++ b/manifest.json @@ -13,7 +13,6 @@ "website": "https://joinpeertube.org/fr/", "demo": "http://peertube.cpy.re", "admindoc": "https://docs.joinpeertube.org/", - "userdoc": "https://yunohost.org/#/app_peertube", "code": "https://github.com/Chocobozzz/PeerTube/" }, "license": "AGPL-3.0-only", @@ -27,7 +26,7 @@ } ], "requirements": { - "yunohost": ">= 4.2.0" + "yunohost": ">= 4.3.0" }, "multi_instance": false, "services": [ @@ -37,13 +36,11 @@ "install" : [ { "name": "domain", - "type": "domain", - "example": "example.com" + "type": "domain" }, { "name": "admin", - "type": "user", - "example": "johndoe" + "type": "user" }, { "name": "is_public", From 47758935d8ca428e82615436691e72a759b0c034 Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Tue, 30 Nov 2021 10:38:34 +0000 Subject: [PATCH 09/40] Auto-update README --- README.md | 1 - README_fr.md | 1 - 2 files changed, 2 deletions(-) diff --git a/README.md b/README.md index 3a24609..caa02ac 100644 --- a/README.md +++ b/README.md @@ -61,7 +61,6 @@ By watching a video, you help the hosting provider to broadcast it by becoming a ## Documentation and resources * Official app website: https://joinpeertube.org/fr/ -* Official user documentation: https://yunohost.org/#/app_peertube * Official admin documentation: https://docs.joinpeertube.org/ * Upstream app code repository: https://github.com/Chocobozzz/PeerTube/ * YunoHost documentation for this app: https://yunohost.org/app_peertube diff --git a/README_fr.md b/README_fr.md index abcffe1..2a97b77 100644 --- a/README_fr.md +++ b/README_fr.md @@ -67,7 +67,6 @@ En regardant une vidĂ©o, vous aidez l'hĂ©bergeur Ă  la diffuser en devenant vous ## Documentations et ressources * Site officiel de l'app : https://joinpeertube.org/fr/ -* Documentation officielle utilisateur : https://yunohost.org/#/app_peertube * Documentation officielle de l'admin : https://docs.joinpeertube.org/ * DĂ©pĂŽt de code officiel de l'app : https://github.com/Chocobozzz/PeerTube/ * Documentation YunoHost pour cette app : https://yunohost.org/app_peertube From bb3aca51823d9d2b6299bf83e6ff809a40243a1f Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 7 Dec 2021 19:17:53 +0100 Subject: [PATCH 10/40] Update install --- scripts/install | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/install b/scripts/install index fdd0426..451ddca 100644 --- a/scripts/install +++ b/scripts/install @@ -85,7 +85,7 @@ ynh_script_progression --message="Installing dependencies..." ynh_install_nodejs --nodejs_version=$NODEJS_VERSION # Install dependencies -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies # Install ffmpeg from backports for Debian Jessie and from main for others if [ "$(lsb_release --codename --short)" == "jessie" ]; then From a55194f83be909362c2ccd9b53c986d72f3a6e8c Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 7 Dec 2021 19:19:38 +0100 Subject: [PATCH 11/40] add ynh_exec_warn_less --- scripts/restore | 2 +- scripts/upgrade | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/scripts/restore b/scripts/restore index 5fbf9b6..a35e20e 100644 --- a/scripts/restore +++ b/scripts/restore @@ -96,7 +96,7 @@ ynh_script_progression --message="Reinstalling dependencies..." ynh_install_nodejs --nodejs_version=$NODEJS_VERSION # Install dependencies -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies # Install ffmpeg from backports for Debian Jessie and from main for others if [ "$(lsb_release --codename --short)" == "jessie" ]; then diff --git a/scripts/upgrade b/scripts/upgrade index e890ca7..c316c2a 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -193,7 +193,7 @@ ynh_script_progression --message="Upgrading dependencies..." ynh_install_nodejs --nodejs_version=$NODEJS_VERSION # Install dependencies -ynh_install_app_dependencies $pkg_dependencies +ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies # Install ffmpeg from backports for Debian Jessie and from main for others if [ "$(lsb_release --codename --short)" == "jessie" ]; then From d37713e8e3820764ea678ed5d29e2d27c2ed4cf1 Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Tue, 7 Dec 2021 19:21:18 +0100 Subject: [PATCH 12/40] Add purge option for datadir --- scripts/remove | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/scripts/remove b/scripts/remove index 318ce53..21230eb 100644 --- a/scripts/remove +++ b/scripts/remove @@ -74,6 +74,17 @@ ynh_script_progression --message="Removing app main directory..." # Remove the app directory securely ynh_secure_remove --file="$final_path" +#================================================= +# REMOVE DATA DIR +#================================================= + +# Remove the data directory if --purge option is used +if [ "${YNH_APP_PURGE:-0}" -eq 1 ] +then + ynh_script_progression --message="Removing app data directory..." + ynh_secure_remove --file="$datadir" +fi + #================================================= # REMOVE NGINX CONFIGURATION #================================================= From 3ed9cf0204a988dc76aa6105ddb559d3f0566aaa Mon Sep 17 00:00:00 2001 From: ericgaspar Date: Sat, 11 Dec 2021 11:09:11 +0100 Subject: [PATCH 13/40] Removing ffmpeg for Jessie --- scripts/install | 7 ------- scripts/upgrade | 7 ------- 2 files changed, 14 deletions(-) diff --git a/scripts/install b/scripts/install index 451ddca..de9724e 100644 --- a/scripts/install +++ b/scripts/install @@ -87,13 +87,6 @@ ynh_install_nodejs --nodejs_version=$NODEJS_VERSION # Install dependencies ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies -# Install ffmpeg from backports for Debian Jessie and from main for others -if [ "$(lsb_release --codename --short)" == "jessie" ]; then - ynh_install_extra_app_dependencies --repo="deb http://httpredir.debian.org/debian jessie-backports main" --package="ffmpeg" -else - ynh_add_app_dependencies --package="ffmpeg" -fi - # Install Yarn ynh_install_extra_app_dependencies --repo="deb https://dl.yarnpkg.com/debian/ stable main" --package="yarn" --key="https://dl.yarnpkg.com/debian/pubkey.gpg" diff --git a/scripts/upgrade b/scripts/upgrade index c316c2a..39828ae 100644 --- a/scripts/upgrade +++ b/scripts/upgrade @@ -195,13 +195,6 @@ ynh_install_nodejs --nodejs_version=$NODEJS_VERSION # Install dependencies ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies -# Install ffmpeg from backports for Debian Jessie and from main for others -if [ "$(lsb_release --codename --short)" == "jessie" ]; then - ynh_install_extra_app_dependencies --repo="deb http://httpredir.debian.org/debian jessie-backports main" --package="ffmpeg" -else - ynh_add_app_dependencies --package="ffmpeg" -fi - # Install Yarn ynh_install_extra_app_dependencies --repo="deb https://dl.yarnpkg.com/debian/ stable main" --package="yarn" --key="https://dl.yarnpkg.com/debian/pubkey.gpg" From c17695b36cce7d1000fde4fcf316d8d771298e0c Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 11 Dec 2021 16:10:44 +0100 Subject: [PATCH 14/40] Bump package version --- manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/manifest.json b/manifest.json index 84d1978..de7696d 100644 --- a/manifest.json +++ b/manifest.json @@ -6,7 +6,7 @@ "en": "Video streaming platform using P2P directly in the web browser, connected to a federated network", "fr": "Plateforme de diffusion vidĂ©o par P2P directement dans le navigateur, et connectĂ©e Ă  un rĂ©seau fĂ©dĂ©ralisĂ©" }, - "version": "3.4.1~ynh2", + "version": "3.4.1~ynh3", "url": "https://github.com/Chocobozzz/PeerTube", "upstream": { "license": "AGPL-3.0-only", From 1aaff0baa12b80ee293fd18f4001d02a0de65a8b Mon Sep 17 00:00:00 2001 From: Yunohost-Bot <> Date: Sat, 11 Dec 2021 15:10:47 +0000 Subject: [PATCH 15/40] Auto-update README --- README.md | 2 +- README_fr.md | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index caa02ac..b207d36 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Video streaming platform using P2P directly in the web browser, connected to a federated network -**Shipped version:** 3.4.1~ynh2 +**Shipped version:** 3.4.1~ynh3 **Demo:** http://peertube.cpy.re diff --git a/README_fr.md b/README_fr.md index 2a97b77..87185eb 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Plateforme de diffusion vidĂ©o par P2P directement dans le navigateur, et connectĂ©e Ă  un rĂ©seau fĂ©dĂ©ralisĂ© -**Version incluse :** 3.4.1~ynh2 +**Version incluse :** 3.4.1~ynh3 **DĂ©mo :** http://peertube.cpy.re From fd83745f77e887aca7c427de97a557d1af2359af Mon Sep 17 00:00:00 2001 From: Alexandre Aubin Date: Sat, 11 Dec 2021 16:12:22 +0100 Subject: [PATCH 16/40] Remove jessie code to install ffmpeg --- scripts/restore | 7 ------- 1 file changed, 7 deletions(-) diff --git a/scripts/restore b/scripts/restore index a35e20e..e5e4756 100644 --- a/scripts/restore +++ b/scripts/restore @@ -98,13 +98,6 @@ ynh_install_nodejs --nodejs_version=$NODEJS_VERSION # Install dependencies ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies -# Install ffmpeg from backports for Debian Jessie and from main for others -if [ "$(lsb_release --codename --short)" == "jessie" ]; then - ynh_install_extra_app_dependencies --repo="deb http://httpredir.debian.org/debian jessie-backports main" --package="ffmpeg" -else - ynh_add_app_dependencies --package="ffmpeg" -fi - # Install Yarn ynh_install_extra_app_dependencies --repo="deb https://dl.yarnpkg.com/debian/ stable main" --package="yarn" --key="https://dl.yarnpkg.com/debian/pubkey.gpg" From e916ba269c0b979d4bd4669c505239e528e10b8a Mon Sep 17 00:00:00 2001 From: Lab 8916100448256 Date: Wed, 22 Dec 2021 22:08:42 +0100 Subject: [PATCH 17/40] Update peeertube to version 4.0.0 --- README.md | 4 +- README_fr.md | 4 +- conf/app.src | 4 +- conf/production.yaml | 141 ++++++++++++++++++++++++++++++++++--------- manifest.json | 2 +- 5 files changed, 121 insertions(+), 34 deletions(-) diff --git a/README.md b/README.md index b207d36..11f0518 100644 --- a/README.md +++ b/README.md @@ -17,7 +17,7 @@ If you don't have YunoHost, please consult [the guide](https://yunohost.org/#/in Video streaming platform using P2P directly in the web browser, connected to a federated network -**Shipped version:** 3.4.1~ynh3 +**Shipped version:** 4.0.0~ynh1 **Demo:** http://peertube.cpy.re @@ -77,4 +77,4 @@ or sudo yunohost app upgrade peertube -u https://github.com/YunoHost-Apps/peertube_ynh/tree/testing --debug ``` -**More info regarding app packaging:** https://yunohost.org/packaging_apps \ No newline at end of file +**More info regarding app packaging:** https://yunohost.org/packaging_apps diff --git a/README_fr.md b/README_fr.md index 87185eb..d7317b5 100644 --- a/README_fr.md +++ b/README_fr.md @@ -13,7 +13,7 @@ Si vous n'avez pas YunoHost, regardez [ici](https://yunohost.org/#/install) pour Plateforme de diffusion vidĂ©o par P2P directement dans le navigateur, et connectĂ©e Ă  un rĂ©seau fĂ©dĂ©ralisĂ© -**Version incluse :** 3.4.1~ynh3 +**Version incluse :** 4.0.0~ynh1 **DĂ©mo :** http://peertube.cpy.re @@ -83,4 +83,4 @@ ou sudo yunohost app upgrade peertube -u https://github.com/YunoHost-Apps/peertube_ynh/tree/testing --debug ``` -**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps \ No newline at end of file +**Plus d'infos sur le packaging d'applications :** https://yunohost.org/packaging_apps diff --git a/conf/app.src b/conf/app.src index 41733d4..0f0bceb 100644 --- a/conf/app.src +++ b/conf/app.src @@ -1,5 +1,5 @@ -SOURCE_URL=https://github.com/Chocobozzz/PeerTube/releases/download/v3.4.1/peertube-v3.4.1.tar.xz -SOURCE_SUM=dd7357529826beb071a86e6f76bc2eb99b0d6481a71566db1cb2f6cf8a4a6305 +SOURCE_URL=https://github.com/Chocobozzz/PeerTube/releases/download/v4.0.0/peertube-v4.0.0.tar.xz +SOURCE_SUM=afbc6ef1f950cb80fc1b61ef83e27ab25d2c7ec8f605e17bc59f8635848862da SOURCE_SUM_PRG=sha256sum SOURCE_FORMAT=tar.xz SOURCE_IN_SUBDIR=true diff --git a/conf/production.yaml b/conf/production.yaml index e850d5e..e10b8bb 100644 --- a/conf/production.yaml +++ b/conf/production.yaml @@ -32,7 +32,7 @@ rates_limit: trust_proxy: - 'loopback' -# Your database name will be database.name OR "peertube"+database.suffix +# Your database name will be database.name OR 'peertube'+database.suffix database: hostname: 'localhost' port: 5432 @@ -73,6 +73,13 @@ email: subject: prefix: "[PeerTube]" +# PeerTube client/interface configuration +client: + videos: + miniature: + # By default PeerTube client displays author username + prefer_author_display_name: false + # From the project root directory storage: tmp: '__DATADIR__/tmp/' # Use to download data (imports etc), store uploaded files before processing... @@ -87,19 +94,58 @@ storage: captions: '__DATADIR__/captions/' cache: '__DATADIR__/cache/' plugins: '__DATADIR__/plugins/' - # Overridable client files : logo.svg, favicon.png and icons/*.png (PWA) in client/dist/assets/images + # Overridable client files in client/dist/assets/images: + # - logo.svg + # - favicon.png + # - default-playlist.jpg + # - default-avatar-account.png + # - default-avatar-video-channel.png + # - and icons/*.png (PWA) # Could contain for example assets/images/favicon.png # If the file exists, peertube will serve it - # If not, peertube will fallback to the default fil + # If not, peertube will fallback to the default file client_overrides: '__DATADIR__/client-overrides/' +object_storage: + enabled: false + + # Without protocol, will default to HTTPS + endpoint: '' # 's3.amazonaws.com' or 's3.fr-par.scw.cloud' for example + + region: 'us-east-1' + + credentials: + # You can also use AWS_ACCESS_KEY_ID env variable + access_key_id: '' + # You can also use AWS_SECRET_ACCESS_KEY env variable + secret_access_key: '' + + # Maximum amount to upload in one request to object storage + max_upload_part: 2GB + + streaming_playlists: + bucket_name: 'streaming-playlists' + + # Allows setting all buckets to the same value but with a different prefix + prefix: '' # Example: 'streaming-playlists:' + + # Base url for object URL generation, scheme and host will be replaced by this URL + # Useful when you want to use a CDN/external proxy + base_url: '' # Example: 'https://mirror.example.com' + + # Same settings but for webtorrent videos + videos: + bucket_name: 'videos' + prefix: '' + base_url: '' + log: - level: 'info' # debug/info/warning/error + level: 'info' # 'debug' | 'info' | 'warn' | 'error' rotation: enabled : true # Enabled by default, if disabled make sure that 'storage.logs' is pointing to a folder handled by logrotate - maxFileSize: 12MB - maxFiles: 20 - anonymizeIP: false + max_file_size: 12MB + max_files: 20 + anonymize_ip: false log_ping_requests: true prettify_sql: false @@ -151,11 +197,16 @@ csp: report_only: true # CSP directives are still being tested, so disable the report only mode at your own risk! report_uri: +security: + # Set the X-Frame-Options header to help to mitigate clickjacking attacks + frameguard: + enabled: true + tracker: # If you disable the tracker, you disable the P2P aspect of PeerTube enabled: true - # Only handle requests on your videos. - # If you set this to false it means you have a public tracker. + # Only handle requests on your videos + # If you set this to false it means you have a public tracker # Then, it is possible that clients overload your instance with external torrents private: true # Reject peers that do a lot of announces (could improve privacy of TCP/UDP peers) @@ -178,6 +229,11 @@ views: remote: max_age: '30 days' + # PeerTube buffers local video views before updating and federating the video + local_buffer_update_interval: '30 minutes' + + ip_view_expiration: '1 hour' + plugins: # The website PeerTube will ask for available PeerTube plugins and themes # This is an unmoderated plugin index, so only install plugins/themes you trust @@ -192,20 +248,30 @@ federation: # Add a weekly job that cleans up remote AP interactions on local videos (shares, rates and comments) # It removes objects that do not exist anymore, and potentially fix their URLs - # This setting is opt-in because due to an old bug in PeerTube, remote rates sent by instance before PeerTube 3.0 will be deleted - # We still suggest you to enable this setting even if your users will loose most of their video's likes/dislikes - cleanup_remote_interactions: false + cleanup_remote_interactions: true +peertube: + check_latest_version: + # Check and notify admins of new PeerTube versions + enabled: false + # You can use a custom URL if your want, that respect the format behind https://joinpeertube.org/api/v1/versions.json + url: 'https://joinpeertube.org/api/v1/versions.json' + +webadmin: + configuration: + edition: + # Set this to false if you don't want to allow config edition in the web interface by instance admins + allowed: true ############################################################################### # # From this point, all the following keys can be overridden by the web interface # (local-production.json file). If you need to change some values, prefer to # use the web interface because the configuration will be automatically -# reloaded without any need to restart PeerTube. +# reloaded without any need to restart PeerTube # # /!\ If you already have a local-production.json file, the modification of the -# following keys will have no effect /!\. +# following keys will have no effect /!\ # ############################################################################### @@ -228,6 +294,7 @@ contact_form: signup: enabled: false limit: 10 # When the limit is reached, registrations are disabled. -1 == unlimited + minimum_age: 16 requires_email_verification: false filters: cidr: # You can specify CIDR ranges to whitelist (empty = no filtering) or blacklist @@ -235,13 +302,17 @@ signup: blacklist: [] user: - # Default value of maximum video BYTES the user can upload (does not take into account transcoded files). + # Default value of maximum video bytes the user can upload (does not take into account transcoded files) + # Byte format is supported ("1GB" etc) # -1 == unlimited video_quota: -1 video_quota_daily: -1 -# If enabled, the video will be transcoded to mp4 (x264) with "faststart" flag -# In addition, if some resolutions are enabled the mp4 video file will be transcoded to these new resolutions. +video_channels: + max_per_user: 20 # Allows each user to create up to 20 video channels. + +# If enabled, the video will be transcoded to mp4 (x264) with `faststart` flag +# In addition, if some resolutions are enabled the mp4 video file will be transcoded to these new resolutions # Please, do not disable transcoding since many uploaded videos will not work transcoding: enabled: true @@ -312,6 +383,14 @@ live: rtmp: port: 1935 + rtmps: + enabled: false + port: 1936 + # Absolute path + key_file: '' + # Absolute path + cert_file: '' + # Allow to transcode the live streaming in multiple live resolutions transcoding: enabled: true @@ -340,13 +419,21 @@ import: http: # Classic HTTP or all sites supported by youtube-dl https://rg3.github.io/youtube-dl/supportedsites.html enabled: false + youtube_dl_release: + # Direct download URL to youtube-dl binary + # Github releases API is also supported + # Examples: + # * https://api.github.com/repos/ytdl-org/youtube-dl/releases + # * https://api.github.com/repos/yt-dlp/yt-dlp/releases + url: 'https://api.github.com/repos/yt-dlp/yt-dlp/releases' + + # youtube-dl binary name + # yt-dlp is also supported + name: 'yt-dlp' + # IPv6 is very strongly rate-limited on most sites supported by youtube-dl force_ipv4: false - # You can use an HTTP/HTTPS/SOCKS proxy with youtube-dl - proxy: - enabled: false - url: "" torrent: # Magnet URI or torrent file (use classic TCP/UDP/WebSeed to download the file) enabled: false @@ -380,7 +467,7 @@ instance: business_model: '' # Supports Markdown # If you want to explain on what type of hardware your PeerTube instance runs - # Example: "2 vCore, 2GB RAM..." + # Example: '2 vCore, 2GB RAM...' hardware_information: '' # Supports Markdown # What are the main languages of your instance? To interact with your users for example @@ -420,20 +507,20 @@ instance: # Enabling it will allow other administrators to know that you are mainly federating sensitive content # Moreover, the NSFW checkbox on video upload will be automatically checked by default is_nsfw: false - # By default, "do_not_list" or "blur" or "display" NSFW videos + # By default, `do_not_list` or `blur` or `display` NSFW videos # Could be overridden per user with a setting default_nsfw_policy: 'do_not_list' customizations: javascript: '' # Directly your JavaScript code (without