# PeerTube app for YunoHost [![Integration level](https://dash.yunohost.org/integration/peertube.svg)](https://ci-apps.yunohost.org/jenkins/job/peertube%20%28Community%29/lastBuild/consoleFull) [![Install Peertube with YunoHost](https://install-app.yunohost.org/install-with-yunohost.png)](https://install-app.yunohost.org/?app=peertube)

======= Shipped Version: **1.2.0** # Nodejs branch for servers giving error on yarn install (OVH) You will have to run few **commands in the terminal to run Peertube**. **Nodejs** will not be installed by **shell** and **passowrd** will not be created by shell. So you have to do these **things manually**. ## Steps for installing 1. Install **nodejs** $ curl -sL https://deb.nodesource.com/setup_8.x | sudo -E bash -
$ sudo apt-get install -y nodejs 1. Install the peertube with **OVH fix** branch. $ yunohost app --debug install --debug https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix 1. After installation is complete run **yarn install**. $ cd /var/www/peertube && yarn install --production --pure-lockfile 1. Give proper **permissions** to peertube $ chown -R peertube:peertube /var/www/peertube 1. **Restart peertube** and check if there is any error message. $ service peertube restart && journalctl -feu peertube 1. If there is no **error in red** in the last lines of log. Press **ctrl+c** to stop the logs. 1. Go to your **domain** to check if peertube is running and everthing is ok. 1. Change your **root password** by this command: $ cd /var/www/peertube && NODE_CONFIG_DIR="/var/www/peertube/config/" NODE_ENV=production npm run reset-password -- -u root Username: **root** password: **created in above step** ## Updating peertube 1. Stop peertube $ service peertube stop 1. Upgrade the package: $ yunohost app upgrade --debug -u https://github.com/YunoHost-Apps/peertube_ynh/tree/ovh_fix peertube 1. After installation is complete run **yarn install**. $ cd /var/www/peertube && yarn install --production --pure-lockfile 1. Give proper **permissions** to peertube $ chown -R peertube:peertube /var/www/peertube 1. Start service. $ service peertube start ## What is Peertube ? PeerTube is a federated (ActivityPub) video streaming platform using P2P (BitTorrent) directly in the web browser, using WebTorrent. ## 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. ## 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. ## Demonstration 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. ## Installation ### Guidelines 1. Require **dedicated domain** like **peertube.domain.tld**. 1. **No LDAP** support (blocked until Peertube core upstream implements it) 1. URL can not be changed once selected. Choose the domain wisely. 1. You need more then **1GB** 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) ### Installing guide 1. App can be installed by YunoHost **admin web-interface** or by **running following command**: $ sudo yunohost app install https://github.com/YunoHost-Apps/peertube_ynh 1. Admin username is : **root**. 1. **Admin password** will be sent to the email address given at the time of the installation. 1. **TLS** and **starttls** are disabled for the outgoing mails. If you intent to use email address not hosted on your local server,it's advised to have a proper SMTP configured with tls and starttls settings by editing **/var/www/peertube/config/porduction.yml**. ### Update Guide 1. App can be updated by YunoHost **admin web-interface** or with the following command**: $ sudo yunohost app upgrade -u https://github.com/YunoHost-Apps/peertube_ynh peertube ### Dependencies * NodeJS, PostgreSQL. * On Debian Jessie,backport is added for the ffmpeg package. ## LICENSE PeerTube is licensed under the GNU Affero General Public License v3.0.