+
+
+
+ PeerTube is a self-hosted and (optionally) federated video sharing platform that saves bandwith on videos the more people watch.
+ PeerTube instances can follow each other to share videos and grow the federated network,
+ but you can always keep your instance to yourself if you choose to.
+
+ Prerequisites
+
+ Most of PeerTube's dependencies can be installed with this command:
+
+ apt install curl sudo unzip vim ffmpeg postgresql postgresql-contrib g++ make redis-server git python-dev cron wget
+
+ It's also important to start all associated daemons:
+
+ systemctl start postgresql redis
+
+ PeerTube also requires NodeJS 14 and yarn which cannot be installed from the Debian repositories. This means they have to be installed from separate, external repos:
+
+ curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
+apt-get install -y nodejs
+npm install --global yarn
+
+ In addition to these dependencies, it's recommended to create a dedicated PeerTube user to install and manage PeerTube.
+
+ useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
+
+ Database
+
+ PeerTube requires a PostgreSQL database to function. To create it, first make a new Postgres user named PeerTube:
+
+ su postgres
+createuser -P peertube
+createdb -O peertube -E UTF8 -T template0 peertube_prod
+psql -c "CREATE EXTENSION pg_trgm;" peertube_prod
+psql -c "CREATE EXTENSION unaccent;" peertube_prod
+exit
+
+ Be sure to make note of your Postgres user password, as it will be needed later when setting up PeerTube.
+
+ Installation
+
+ This handy one-liner can be used to determine the latest PeerTube version:
+
+ VERSION=$(curl -s https://api.github.com/repos/chocobozzz/peertube/releases/latest | grep tag_name | cut -d '"' -f 4) && echo "Latest Peertube version is $VERSION"
+
+ Next, a basic directory structure needs to be setup in the PeerTube user's home directory (/var/www/peertube).
+
+ To ensure permissions remain the same while managing files as PeerTube, sudo can be used to perform actions:
+
+ sudo -u peertube mkdir config storage versions
+sudo -u peertube chmod 750 config
+
+ Finally, a PeerTube release can be downloaded from the GitHub page and installed using yarn:
+
+ cd versions
+sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest
+cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-lockfile
+
+ Configuration
+
+ PeerTube's default config file can be copied over to /var/www/peertube/config.production.yaml so it can actually be used:
+
+ cd /var/www/peertube
+ sudo -u peertube cp peertube-latest/production.yaml config/production.yaml
+
+ Now the production.yaml file must be edited in the following ways:
+
+ First, add the hostname:
+
+ webserver:
+ https: true
+ hostname: 'example.org'
+ port: 443
+
+ Then, the database:
+
+ database:
+ hostname: 'localhost'
+ port: 5432
+ ssl: false
+ suffix: '_prod'
+ username: 'peertube'
+ password: 'your_password'
+ pool:
+ max: 5
+
+ An email to generate the admin user:
+
+ admin:
+ # Used to generate the root user at first startup
+ # And to receive emails from the contact form
+ email: 'chad@example.org'
+
+ And optionally, email server information:
+
+ smtp:
+ # smtp or sendmail
+ transport: smtp
+ # Path to sendmail command. Required if you use sendmail transport
+ sendmail: null
+ hostname: mail.example.org
+ port: 465 # If you use StartTLS: 587
+ username: your_email_username
+ password: your_email_password
+ tls: true # If you use StartTLS: false
+ disable_starttls: false
+ ca_file: null # Used for self signed certificates
+ from_address: 'admin@example.org'
+
+ NGINX
+
+ PeerTube includes an NGINX configuration that can be copied over to /etc/nginx/sites-available:
+
+
cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
+
+ Because the PeerTube config is so long, it's recommended to use sed to modify the contents of the file,
+ replacing ${WEBSERVER_HOST} with your hostname,
+ and $(PEERTUBE_HOST) with your localhost and port, which by default should be 127.0.0.1:9000:
+
+
sed -i 's/${WEBSERVER_HOST}/example.org /g' /etc/nginx/sites-available/peertube
+sed -i 's/${PEERTUBE_HOST}/127.0.0.1:9000/g' /etc/nginx/sites-available/peertube
+
+ Once you're happy with the NGINX config file, link it to sites-enabled to activate it:
+
+ ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/peertube
+
+ Encryption with Certbot
+
+ It's highly recommended to generate certificates for use with your PeerTube site, and this can be easily done with Let's Encrypt's certbot command:
+
+ systemctl stop nginx
+certbot certonly --standalone -d example.org
+sudo systemctl restart nginx
+
+ The certificates are generated standalone since the PeerTube NGINX config file already includes configuration for certbot.
+
+ Running PeerTube
+
+ A config file for a systemd daemon is included in PeerTube and can be setup like so:
+
+ cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
+systemctl daemon-reload
+
+ Now, finally, run the PeerTube daemon to start PeerTube:
+
+ systemctl start peertube
+
+ Using PeerTube
+
+ To set a password for your admin user, run:
+
+ cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root
+
+ Login to your PeerTube instance using the admin email specified in your production.yaml file and the admin password you just set.
+
+
+
+ Once logged in, it's recommended to create a separate user without admin privileges for uploading videos to PeerTube.
+ This can be done easily from the users tab in the administration section:
+
+ Enjoy your PeerTube instance!
+
+
+ Written by Denshi. Donate Monero here [QR]
+
+
+
Date: Thu, 29 Jul 2021 10:43:31 -0400
Subject: peertube tweaks
---
index.html | 2 +-
peertube.html | 34 ++++++++----
pix/peertube-icon.svg | 118 ----------------------------------------
pix/peertube.svg | 147 +++++++++++++++++++++++++++++++-------------------
4 files changed, 116 insertions(+), 185 deletions(-)
delete mode 100644 pix/peertube-icon.svg
diff --git a/index.html b/index.html
index 8441d6c..5f1f203 100644
--- a/index.html
+++ b/index.html
@@ -64,6 +64,7 @@
Host your own git repositories
Private and Encrypted Chat with XMPP
Pleroma, a federated Twitter-like Microblogging Site
+ PeerTube, a federated YouTube-like video Site
Setting up a Nextcloud Instance (file hosting and more)
Setting up Gitea
Creating your own chat server with IRC
@@ -112,7 +113,6 @@
Email webclients
Simple static site generators
Calibre (library server)
- PeerTube (like YouTube)
XMPP ejabberd
Movim for XMPP
diff --git a/peertube.html b/peertube.html
index ad00d65..e38a2ba 100644
--- a/peertube.html
+++ b/peertube.html
@@ -15,15 +15,15 @@
- PeerTube is a self-hosted and (optionally) federated video sharing platform that saves bandwith on videos the more people watch.
- PeerTube instances can follow each other to share videos and grow the federated network,
+
PeerTube is a self-hosted and (optionally) federated video sharing platform that saves bandwith on videos the more people watch.
+ PeerTube instances can follow each other to share videos and grow the federated network,
but you can always keep your instance to yourself if you choose to.
Prerequisites
Most of PeerTube's dependencies can be installed with this command:
- apt install curl sudo unzip vim ffmpeg postgresql postgresql-contrib g++ make redis-server git python-dev cron wget
+ apt install -y curl sudo unzip vim ffmpeg postgresql postgresql-contrib g++ make redis-server git python-dev cron wget
It's also important to start all associated daemons:
@@ -32,7 +32,7 @@
PeerTube also requires NodeJS 14 and yarn which cannot be installed from the Debian repositories. This means they have to be installed from separate, external repos:
curl -fsSL https://deb.nodesource.com/setup_14.x | bash -
-apt-get install -y nodejs
+apt install -y nodejs
npm install --global yarn
In addition to these dependencies, it's recommended to create a dedicated PeerTube user to install and manage PeerTube.
@@ -40,7 +40,7 @@ npm install --global yarn
useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
Database
-
+
PeerTube requires a PostgreSQL database to function. To create it, first make a new Postgres user named PeerTube:
su postgres
@@ -128,8 +128,8 @@ cd ./peertube-latest && sudo -H -u peertube yarn install --production --pure-loc
cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
- Because the PeerTube config is so long, it's recommended to use sed to modify the contents of the file,
- replacing ${WEBSERVER_HOST} with your hostname,
+
Because the PeerTube config is so long, it's recommended to use sed to modify the contents of the file,
+ replacing ${WEBSERVER_HOST} with your hostname,
and $(PEERTUBE_HOST) with your localhost and port, which by default should be 127.0.0.1:9000:
sed -i 's/${WEBSERVER_HOST}/example.org /g' /etc/nginx/sites-available/peertube
@@ -163,8 +163,8 @@ systemctl daemon-reload
Using PeerTube
To set a password for your admin user, run:
-
- cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root
+
+ cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root
Login to your PeerTube instance using the admin email specified in your production.yaml file and the admin password you just set.
@@ -173,7 +173,21 @@ systemctl daemon-reload
Once logged in, it's recommended to create a separate user without admin privileges for uploading videos to PeerTube.
This can be done easily from the users tab in the administration section:
- Enjoy your PeerTube instance!
+ Enjoy your PeerTube instance!
+
+
+
+ Updating PeerTube
+
+ PeerTube is constantly adding new features, so it's a good idea to check for new updates and add them if you wish. Just in the past year, they have added livestreaming and more.
+
+ Updating is fairly easy now since an upgrade.sh script has been added. Just run:
+
+ cd /var/www/peertube/peertube-latest/scripts && sudo -H -u peertube ./upgrade.sh
+
+
+ Although check the changelog to see if there are additional manual requirements for particular updates.
+
Written by Denshi. Donate Monero here [QR]
diff --git a/pix/peertube-icon.svg b/pix/peertube-icon.svg
deleted file mode 100644
index 38992a5..0000000
--- a/pix/peertube-icon.svg
+++ /dev/null
@@ -1,118 +0,0 @@
-
-
-
-
-
- image/svg+xml
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/pix/peertube.svg b/pix/peertube.svg
index 2696fe0..38992a5 100644
--- a/pix/peertube.svg
+++ b/pix/peertube.svg
@@ -7,77 +7,112 @@
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- inkscape:version="1.0 (4035a4fb49, 2020-05-01)"
- sodipodi:docname="brand.svg"
- id="svg895"
+ viewBox="2799 -911 16 22"
version="1.1"
- viewBox="0 0 456 100"
- height="100"
- width="456">
+ id="svg13"
+ sodipodi:docname="logo.svg"
+ width="16"
+ height="22"
+ inkscape:version="0.92.2 5c3e80d, 2017-08-06">
+ id="metadata17">
image/svg+xml
- Peertube_V3_logo Copy
+
-
- PeerTube logo
+ borderopacity="1"
+ objecttolerance="10"
+ gridtolerance="10"
+ guidetolerance="10"
+ inkscape:pageopacity="0"
+ inkscape:pageshadow="2"
+ inkscape:window-width="1916"
+ inkscape:window-height="1040"
+ id="namedview15"
+ showgrid="false"
+ inkscape:zoom="29.790476"
+ inkscape:cx="-1.1827326"
+ inkscape:cy="12.088"
+ inkscape:window-x="0"
+ inkscape:window-y="18"
+ inkscape:window-maximized="0"
+ inkscape:current-layer="svg13" />
+
+
+
+ id="Artboard_1"
+ data-name="Artboard – 1"
+ class="cls-1"
+ transform="translate(0.03356777,-1.9929667)">
-
-
-
-
+ id="Symbol_3_1"
+ data-name="Symbol 3 – 1"
+ transform="translate(2759,-975)">
+
+
+
+
+
+
--
cgit v1.2.3