1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/peertube_ynh.git synced 2024-09-03 19:56:29 +02:00

Revert "Small fixes"

This reverts commit bfde207bb7.
This commit is contained in:
ericgaspar 2021-01-08 12:33:06 +01:00
parent bfde207bb7
commit 61ada08751
No known key found for this signature in database
GPG key ID: 574F281483054D44
8 changed files with 63 additions and 25 deletions

View file

@ -9,12 +9,20 @@
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 <a href="https://github.com/feross/webtorrent">WebTorrent</a>.
We can't build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software. One organization alone cannot have enough money to pay bandwidth and video storage of its server.
### Why PeerTube?
We can't build a FOSS video streaming alternatives to YouTube, Dailymotion, Vimeo... with a centralized software. One organization alone cannot have enough money to pay bandwidth and video storage of its server.
So we need to have a decentralized network of servers seeding videos (as [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)).
But it's not enough because one video could become famous and overload the server.
It's the reason why we need to use a P2P protocol to limit the server load.
Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (thus BitTorrent) inside the web browser, as of today.
Thanks to [WebTorrent](https://github.com/feross/webtorrent), we can make P2P (thus BitTorrent) inside the web browser, as of today.
### 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 doesnt need much money to broadcast the videos of its users.

View file

@ -9,11 +9,18 @@
Si vous n'avez pas YunoHost, consultez [le guide](https://yunohost.org/#/install) pour apprendre comment l'installer.*
## 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 <a href="https://github.com/feross/webtorrent"> WebTorrent </a>.
### Why 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.
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.
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.0.0

View file

@ -3,8 +3,8 @@
"id": "peertube",
"packaging_format": 1,
"description": {
"en": "Video streaming platform using P2P",
"fr": "Plateforme de diffusion vidéo par P2P"
"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.0.0~ynh1",
"url": "https://github.com/Chocobozzz/PeerTube",
@ -41,7 +41,7 @@
"type": "string",
"ask": {
"en": "Choose an admin email (can be changed after installation)",
"fr": "Choisissez une adresse email d'administrateur (peut être modifiée après l'installation)"
"fr": "Choisissez une adresse e-mail d'administrateur (peut être modifiée après l'installation)"
},
"example": "johndoe@example.com"
},

View file

@ -7,7 +7,7 @@
# dependencies used by the app
pkg_dependencies="ffmpeg postgresql postgresql-contrib openssl g++ redis-server redis-tools mailutils apt-transport-https"
YNH_NODEJS_VERSION=14
YNH_NODEJS_VERSION=12
#=================================================
# PERSONAL HELPERS

View file

@ -77,7 +77,7 @@ ynh_script_progression --message="Installing dependencies..."
ynh_install_nodejs --nodejs_version=$YNH_NODEJS_VERSION
# Install dependencies
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
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
@ -141,7 +141,7 @@ ynh_script_progression --message="Creating the data directory..."
mkdir -p "$datadir"
# Give permission to the datadir
chown -R $app: "$datadir"
chown -R "$app":"$app" "$datadir"
#=================================================
# MODIFY A CONFIG FILE
@ -176,11 +176,11 @@ ynh_store_file_checksum --file="$local_config"
#=================================================
ynh_script_progression --message="Building Yarn dependencies..."
chown -R $app: $final_path
chown -R "$app":"$app" $final_path
pushd $final_path
pushd "$final_path"
ynh_use_nodejs
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --production --pure-lockfile
sudo -u $app env $ynh_node_load_PATH yarn install --production --pure-lockfile
popd
#=================================================
@ -199,7 +199,7 @@ ynh_add_systemd_config --others_var="ynh_node_load_PATH"
ynh_script_progression --message="Securing files and directories..."
# Set permissions to app files
chown -R $app: $final_path
chown -R $app:$app $final_path
#=================================================
# SETUP LOGROTATE
@ -214,7 +214,7 @@ ynh_use_logrotate --logfile="$datadir/logs/peertube.log"
#=================================================
ynh_script_progression --message="Integrating service in YunoHost..."
yunohost service add $app --description="$app daemon for Peertube" --log="$datadir/logs/peertube.log"
yunohost service add $app --description "$app daemon for Peertube" --log "$datadir/logs/peertube.log"
#=================================================
# START SYSTEMD SERVICE
@ -229,10 +229,11 @@ ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --l
#=================================================
ynh_script_progression --message="Configuring SSOwat..."
# Make app public if necessary or protect it
# Make app public if necessary
if [ $is_public -eq 1 ]
then
ynh_permission_update --permission "main" --add "visitors"
# unprotected_uris allows SSO credentials to be passed anyway.
ynh_app_setting_set --app=$app --key=unprotected_uris --value="/"
fi
#=================================================

View file

@ -88,6 +88,16 @@ ynh_script_progression --message="Removing logrotate configuration..."
# Remove the app-specific logrotate config
ynh_remove_logrotate
#=================================================
# CLOSE A PORT
#=================================================
if yunohost firewall list | grep -q "\- $port$"
then
ynh_script_progression --message="Closing port $port..."
ynh_exec_warn_less yunohost firewall disallow TCP $port
fi
#=================================================
# GENERIC FINALIZATION
#=================================================

View file

@ -136,7 +136,7 @@ systemctl enable $app.service --quiet
#=================================================
ynh_script_progression --message="Integrating service in YunoHost..."
yunohost service add $app --description="$app daemon for Peertube" --log="$datadir/logs/peertube.log"
yunohost service add $app --description "$app daemon for Peertube" --log "$datadir/logs/peertube.log"
#=================================================
# START SYSTEMD SERVICE

View file

@ -155,7 +155,7 @@ ynh_script_progression --message="Upgrading dependencies..."
ynh_install_nodejs --nodejs_version=$YNH_NODEJS_VERSION
# Install dependencies
ynh_exec_warn_less ynh_install_app_dependencies $pkg_dependencies
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
@ -193,7 +193,7 @@ then
fi
# Give permission to the datadir
chown -R $app: "$datadir"
chown -R "$app":"$app" "$datadir"
#=================================================
# MODIFY A CONFIG FILE
@ -221,11 +221,11 @@ ynh_store_file_checksum --file="$local_config"
#=================================================
ynh_script_progression --message="Building Yarn dependencies..."
chown -R $app: $final_path
chown -R "$app":"$app" $final_path
pushd $final_path
pushd "$final_path"
ynh_use_nodejs
ynh_exec_warn_less sudo -u $app env $ynh_node_load_PATH yarn install --production --pure-lockfile
sudo -u $app env $ynh_node_load_PATH yarn install --production --pure-lockfile
popd
#=================================================
@ -244,7 +244,7 @@ ynh_add_systemd_config --others_var="ynh_node_load_PATH"
ynh_script_progression --message="Securing files and directories..."
# Set permissions on app files
chown -R $app: $final_path
chown -R $app:$app $final_path
#=================================================
# SETUP LOGROTATE
@ -259,7 +259,7 @@ ynh_use_logrotate --non-append
#=================================================
ynh_script_progression --message="Integrating service in YunoHost..."
yunohost service add $app --description="$app daemon for Peertube" --log="$datadir/logs/peertube.log"
yunohost service add $app --description "$app daemon for Peertube" --log "$datadir/logs/peertube.log"
#=================================================
# START SYSTEMD SERVICE
@ -268,6 +268,18 @@ ynh_script_progression --message="Starting a systemd service..."
ynh_systemd_action --service_name=$app --action="start" --log_path="systemd" --line_match="Server listening on localhost"
#=================================================
# SETUP SSOWAT
#=================================================
ynh_script_progression --message="Upgrading SSOwat configuration..."
# Make app public if necessary
if [ $is_public -eq 1 ]
then
# unprotected_uris allows SSO credentials to be passed anyway
ynh_app_setting_set --app=$app --key=unprotected_uris --value="/"
fi
#=================================================
# RELOAD NGINX
#=================================================