Syntax highlighting

This commit is contained in:
Chocobozzz 2024-09-27 07:22:43 +02:00
parent 59ba7f3b74
commit a1721744be
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
1 changed files with 61 additions and 61 deletions

View File

@ -37,8 +37,8 @@ _note_: only **LTS** versions of external dependencies are supported. If no LTS
1. On a fresh Debian/Ubuntu, as root user, install basic utility programs needed for the installation 1. On a fresh Debian/Ubuntu, as root user, install basic utility programs needed for the installation
``` ```sh
# apt-get install curl sudo unzip vim sudo apt-get install curl sudo unzip vim
``` ```
2. It would be wise to disable root access and to continue this tutorial with a user with sudoers group access. You can see a guide for how to do this in Debian/Ubuntu [here](https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-ubuntu-20-04). 2. It would be wise to disable root access and to continue this tutorial with a user with sudoers group access. You can see a guide for how to do this in Debian/Ubuntu [here](https://www.digitalocean.com/community/tutorials/how-to-add-and-delete-users-on-ubuntu-20-04).
@ -52,7 +52,7 @@ _note_: only **LTS** versions of external dependencies are supported. If no LTS
On Ubuntu >= focal (20.04 LTS) or Debian >= Bullseye: On Ubuntu >= focal (20.04 LTS) or Debian >= Bullseye:
``` ```sh
sudo apt update sudo apt update
sudo apt install python3-dev python3-pip python-is-python3 sudo apt install python3-dev python3-pip python-is-python3
python --version # Should be >= 3.x python --version # Should be >= 3.x
@ -60,7 +60,7 @@ python --version # Should be >= 3.x
6. Install common dependencies: 6. Install common dependencies:
``` ```sh
sudo apt update sudo apt update
sudo apt install certbot nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git cron wget sudo apt install certbot nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git cron wget
ffmpeg -version # Should be >= 4.1 ffmpeg -version # Should be >= 4.1
@ -70,7 +70,7 @@ redis-server --version # Should be >= 6.x
Now that dependencies are installed, before running PeerTube you should start PostgreSQL and Redis: Now that dependencies are installed, before running PeerTube you should start PostgreSQL and Redis:
``` ```sh
sudo systemctl start redis postgresql sudo systemctl start redis postgresql
``` ```
@ -78,13 +78,13 @@ sudo systemctl start redis postgresql
1. Run: 1. Run:
``` ```sh
sudo pacman -S nodejs-lts-fermium yarn ffmpeg postgresql openssl redis git wget unzip python python-pip base-devel npm nginx sudo pacman -S nodejs-lts-fermium yarn ffmpeg postgresql openssl redis git wget unzip python python-pip base-devel npm nginx
``` ```
Now that dependencies are installed, before running PeerTube you should start PostgreSQL and Redis: Now that dependencies are installed, before running PeerTube you should start PostgreSQL and Redis:
``` ```sh
sudo systemctl start redis postgresql sudo systemctl start redis postgresql
``` ```
@ -103,7 +103,7 @@ sudo systemctl start redis postgresql
4. Install Packages: 4. Install Packages:
``` ```sh
sudo yum update sudo yum update
sudo yum install epel-release centos-release-scl sudo yum install epel-release centos-release-scl
sudo yum update sudo yum update
@ -112,25 +112,25 @@ sudo yum install nginx postgresql postgresql-server postgresql-contrib openssl g
5. You need to use a more up to date version of G++ in order to run the yarn install command, hence the installation of devtoolset-7. 5. You need to use a more up to date version of G++ in order to run the yarn install command, hence the installation of devtoolset-7.
``` ```sh
sudo scl enable devtoolset-7 bash sudo scl enable devtoolset-7 bash
``` ```
Later when you invoke any node command, please prefix them with `CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++`, such as with: Later when you invoke any node command, please prefix them with `CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++`, such as with:
``` ```sh
sudo -H -u peertube CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ yarn install --production --pure-lockfile sudo -H -u peertube CC=/opt/rh/devtoolset-7/root/usr/bin/gcc CXX=/opt/rh/devtoolset-7/root/usr/bin/g++ yarn install --production --pure-lockfile
``` ```
6. Initialize the PostgreSQL database: 6. Initialize the PostgreSQL database:
``` ```sh
sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql
``` ```
Now that dependencies are installed, before running PeerTube you should enable and start PostgreSQL and Redis: Now that dependencies are installed, before running PeerTube you should enable and start PostgreSQL and Redis:
``` ```sh
sudo systemctl enable --now redis sudo systemctl enable --now redis
sudo systemctl enable --now postgresql sudo systemctl enable --now postgresql
``` ```
@ -145,7 +145,7 @@ sudo systemctl enable --now postgresql
3. Install or compile ffmpeg: 3. Install or compile ffmpeg:
``` ```sh
sudo dnf install epel-release dnf-utils sudo dnf install epel-release dnf-utils
sudo yum-config-manager --set-enabled powertools sudo yum-config-manager --set-enabled powertools
sudo yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo sudo yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo
@ -154,7 +154,7 @@ sudo dnf install ffmpeg
4. Install packages: 4. Install packages:
``` ```sh
sudo dnf update sudo dnf update
sudo dnf install epel-release sudo dnf install epel-release
sudo dnf update sudo dnf update
@ -163,19 +163,19 @@ sudo dnf install nginx postgresql postgresql-server postgresql-contrib openssl g
5. You'll need a symlink for python3 to python for youtube-dl to work 5. You'll need a symlink for python3 to python for youtube-dl to work
``` ```sh
sudo ln -s /usr/bin/python3 /usr/bin/python sudo ln -s /usr/bin/python3 /usr/bin/python
``` ```
6. Initialize the PostgreSQL database: 6. Initialize the PostgreSQL database:
``` ```sh
sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql
``` ```
Now that dependencies are installed, before running PeerTube you should enable and start PostgreSQL and Redis: Now that dependencies are installed, before running PeerTube you should enable and start PostgreSQL and Redis:
``` ```sh
sudo systemctl enable --now redis sudo systemctl enable --now redis
sudo systemctl enable --now postgresql sudo systemctl enable --now postgresql
``` ```
@ -183,22 +183,22 @@ sudo systemctl enable --now postgresql
## Rocky Linux 8.4 ## Rocky Linux 8.4
1. Pull the latest updates: 1. Pull the latest updates:
``` ```sh
sudo dnf update -y sudo dnf update -y
``` ```
2. Install NodeJS 18.x: 2. Install NodeJS 18.x:
``` ```sh
sudo dnf module install -y nodejs:18 sudo dnf module install -y nodejs:18
``` ```
3. Install yarn: 3. Install yarn:
``` ```sh
sudo npm install --global yarn sudo npm install --global yarn
``` ```
4. Install or compile ffmpeg (if you want to compile... enjoy): 4. Install or compile ffmpeg (if you want to compile... enjoy):
``` ```sh
sudo dnf install -y epel-release sudo dnf install -y epel-release
sudo dnf --enablerepo=powertools install -y SDL2 SDL2-devel sudo dnf --enablerepo=powertools install -y SDL2 SDL2-devel
sudo dnf install -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm sudo dnf install -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm https://download1.rpmfusion.org/nonfree/el/rpmfusion-nonfree-release-8.noarch.rpm
@ -207,7 +207,7 @@ sudo dnf update -y
``` ```
5. Install PostgreSQL and Python3 and other stuff: 5. Install PostgreSQL and Python3 and other stuff:
``` ```sh
sudo dnf install -y nginx postgresql postgresql-server postgresql-contrib openssl gcc-c++ make wget redis git python3 python3-pip sudo dnf install -y nginx postgresql postgresql-server postgresql-contrib openssl gcc-c++ make wget redis git python3 python3-pip
sudo ln -s /usr/bin/python3 /usr/bin/python sudo ln -s /usr/bin/python3 /usr/bin/python
sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql
@ -216,7 +216,7 @@ sudo systemctl enable --now postgresql
``` ```
6. Configure the peertube user: 6. Configure the peertube user:
``` ```sh
sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
``` ```
@ -230,13 +230,13 @@ sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
1. Upgrade your packages: 1. Upgrade your packages:
``` ```sh
dnf upgrade dnf upgrade
``` ```
2. Add a user with sudoers group access: 2. Add a user with sudoers group access:
``` ```sh
useradd my-peertube-user useradd my-peertube-user
passwd my-peertube-user passwd my-peertube-user
usermod my-peertube-user -a -G wheel # Add my-peertube-user to sudoers usermod my-peertube-user -a -G wheel # Add my-peertube-user to sudoers
@ -254,14 +254,14 @@ su my-peertube-user
6. Enable [RPM Fusion](https://rpmfusion.org) for Fedora (available for x86, x86_64, armhfp) 6. Enable [RPM Fusion](https://rpmfusion.org) for Fedora (available for x86, x86_64, armhfp)
``` ```sh
sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm sudo dnf install https://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
``` ```
This is necessary because `ffmpeg` is not in the Fedora repos. This is necessary because `ffmpeg` is not in the Fedora repos.
7. Run: 7. Run:
``` ```sh
sudo dnf install nginx ffmpeg postgresql-server postgresql-contrib openssl gcc-c++ make redis git vim sudo dnf install nginx ffmpeg postgresql-server postgresql-contrib openssl gcc-c++ make redis git vim
ffmpeg -version # Should be >= 4.1 ffmpeg -version # Should be >= 4.1
g++ -v # Should be >= 5.x g++ -v # Should be >= 5.x
@ -270,7 +270,7 @@ redis-server --version # Should be >= 6.x
8. Configure nginx 8. Configure nginx
``` ```sh
sudo mkdir /etc/nginx/sites-available sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled sudo mkdir /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-enabled/peertube /etc/nginx/conf.d/peertube.conf sudo ln -s /etc/nginx/sites-enabled/peertube /etc/nginx/conf.d/peertube.conf
@ -281,7 +281,7 @@ sudo ln -s /etc/nginx/sites-enabled/peertube /etc/nginx/conf.d/peertube.conf
_from [PostgreSQL documentation](https://www.postgresql.org/download/linux/redhat/):_ _from [PostgreSQL documentation](https://www.postgresql.org/download/linux/redhat/):_
> Due to policies for Red Hat family distributions, the PostgreSQL installation will not be enabled for automatic start or have the database initialized automatically. > Due to policies for Red Hat family distributions, the PostgreSQL installation will not be enabled for automatic start or have the database initialized automatically.
``` ```sh
# PostgreSQL # PostgreSQL
sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql
sudo systemctl enable postgresql.service sudo systemctl enable postgresql.service
@ -299,20 +299,20 @@ sudo systemctl start redis.service
By default, you cannot access your server via public IP. To do so, you must configure firewall: By default, you cannot access your server via public IP. To do so, you must configure firewall:
- Ports used by peertube dev setup: - Ports used by peertube dev setup:
``` ```sh
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp
``` ```
- Optional - Optional
``` ```sh
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --permanent --zone=public --add-service=https
``` ```
- Reload firewall - Reload firewall
``` ```sh
sudo firewall-cmd --reload sudo firewall-cmd --reload
``` ```
@ -320,7 +320,7 @@ sudo firewall-cmd --reload
This is necessary if you are running dev setup, otherwise you will have errors with `nodemon` This is necessary if you are running dev setup, otherwise you will have errors with `nodemon`
``` ```sh
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
``` ```
@ -330,7 +330,7 @@ echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo s
1. Register system as root user to Red Hat Subscription Management (create a free Red Hat account if you don't have one yet). 1. Register system as root user to Red Hat Subscription Management (create a free Red Hat account if you don't have one yet).
``` ```sh
# subscription-manager register --username <username> --password <password> --auto-attach # subscription-manager register --username <username> --password <password> --auto-attach
# dnf upgrade # dnf upgrade
# reboot # reboot
@ -338,20 +338,20 @@ echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo s
2. Install Node.JS 2. Install Node.JS
``` ```sh
sudo dnf module install nodejs:18 sudo dnf module install nodejs:18
``` ```
3. Install Yarn 3. Install Yarn
``` ```sh
curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo curl --silent --location https://dl.yarnpkg.com/rpm/yarn.repo | sudo tee /etc/yum.repos.d/yarn.repo
sudo dnf install yarn sudo dnf install yarn
``` ```
4. Install FFmpeg 4. Install FFmpeg
``` ```sh
sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-$(arch)-rpms" sudo subscription-manager repos --enable "codeready-builder-for-rhel-8-$(arch)-rpms"
sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm sudo dnf install --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm
@ -361,25 +361,25 @@ sudo dnf install ffmpeg
5. Run: 5. Run:
``` ```sh
sudo dnf install nginx postgresql postgresql-server postgresql-contrib openssl gcc-c++ make wget redis git sudo dnf install nginx postgresql postgresql-server postgresql-contrib openssl gcc-c++ make wget redis git
``` ```
6. You'll need a symlink for python3 to python for youtube-dl to work 6. You'll need a symlink for python3 to python for youtube-dl to work
``` ```sh
sudo alternatives --set python3 /usr/bin/python sudo alternatives --set python3 /usr/bin/python
``` ```
7. Initialize the PostgreSQL database: 7. Initialize the PostgreSQL database:
``` ```sh
sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql sudo PGSETUP_INITDB_OPTIONS='--auth-host=md5' postgresql-setup --initdb --unit postgresql
``` ```
Now that dependencies are installed, before running PeerTube you should enable and start PostgreSQL and Redis: Now that dependencies are installed, before running PeerTube you should enable and start PostgreSQL and Redis:
``` ```sh
sudo systemctl enable --now redis sudo systemctl enable --now redis
sudo systemctl enable --now postgresql sudo systemctl enable --now postgresql
``` ```
@ -388,7 +388,7 @@ If you are running the production guide, you also need to slightly pre-configure
8. Configure nginx 8. Configure nginx
``` ```sh
sudo mkdir /etc/nginx/sites-available sudo mkdir /etc/nginx/sites-available
sudo mkdir /etc/nginx/sites-enabled sudo mkdir /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-enabled/peertube /etc/nginx/conf.d/peertube.conf sudo ln -s /etc/nginx/sites-enabled/peertube /etc/nginx/conf.d/peertube.conf
@ -399,7 +399,7 @@ sudo systemctl enable --now nginx
To add the 'peertube' user, you first have to create the 'www' folder and once the 'peertube' user is added, you have to set the access permissions. To add the 'peertube' user, you first have to create the 'www' folder and once the 'peertube' user is added, you have to set the access permissions.
``` ```sh
sudo mkdir /var/www sudo mkdir /var/www
sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube sudo useradd -m -d /var/www/peertube -s /bin/bash -p peertube peertube
@ -413,20 +413,20 @@ sudo chmod 755 /var/www/peertube/
By default, you cannot access your server via public IP. To do so, you must configure firewall: By default, you cannot access your server via public IP. To do so, you must configure firewall:
- Ports used by peertube dev setup: - Ports used by peertube dev setup:
``` ```sh
sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp sudo firewall-cmd --permanent --zone=public --add-port=3000/tcp
sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp sudo firewall-cmd --permanent --zone=public --add-port=9000/tcp
``` ```
- Optional - Optional
``` ```sh
sudo firewall-cmd --permanent --zone=public --add-service=http sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https sudo firewall-cmd --permanent --zone=public --add-service=https
``` ```
- Reload firewall - Reload firewall
``` ```sh
sudo firewall-cmd --reload sudo firewall-cmd --reload
``` ```
@ -434,7 +434,7 @@ sudo firewall-cmd --reload
This is necessary if you are running dev setup, otherwise you will have errors with `nodemon` This is necessary if you are running dev setup, otherwise you will have errors with `nodemon`
``` ```sh
echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p echo fs.inotify.max_user_watches=582222 | sudo tee -a /etc/sysctl.conf && sudo sysctl -p
``` ```
@ -447,7 +447,7 @@ On a fresh install of [FreeBSD](https://www.freebsd.org), new system or new jail
1. bootstrap pkg, initialize db and install peertube's dependencies, always as root (sudo not yet installed): 1. bootstrap pkg, initialize db and install peertube's dependencies, always as root (sudo not yet installed):
``` ```sh
pkg pkg
pkg update pkg update
pkg install -y sudo bash wget git python nginx pkgconf postgresql13-server postgresql13-contrib redis openssl node npm yarn ffmpeg unzip pkg install -y sudo bash wget git python nginx pkgconf postgresql13-server postgresql13-contrib redis openssl node npm yarn ffmpeg unzip
@ -455,8 +455,8 @@ pkg install -y sudo bash wget git python nginx pkgconf postgresql13-server postg
2. Allow users in the wheel group (hope you don't forgot to add your user on wheel group!) to use sudo. 2. Allow users in the wheel group (hope you don't forgot to add your user on wheel group!) to use sudo.
``` ```sh
# visudo visudo
``` ```
Uncomment the line 90 Uncomment the line 90
@ -467,7 +467,7 @@ Uncomment the line 90
3. Enable nginx, redis, postgresql services and initialize database. 3. Enable nginx, redis, postgresql services and initialize database.
``` ```sh
sysrc postgresql_enable="YES" sysrc postgresql_enable="YES"
sysrc redis_enable="YES" sysrc redis_enable="YES"
sysrc nginx_enable="YES" sysrc nginx_enable="YES"
@ -475,7 +475,7 @@ sysrc nginx_enable="YES"
Initialize database and start services Initialize database and start services
``` ```sh
service postgresql initdb service postgresql initdb
service postgresql start service postgresql start
service redis start service redis start
@ -536,7 +536,7 @@ www-servers/nginx
2. If you are on a "stable" Gentoo you need to accept the testing keyword ~amd64 yarn: 2. If you are on a "stable" Gentoo you need to accept the testing keyword ~amd64 yarn:
``` ```sh
mkdir -p /etc/portage/package.keywords mkdir -p /etc/portage/package.keywords
cat << EOF >> /etc/portage/package.keywords/peertube cat << EOF >> /etc/portage/package.keywords/peertube
# required by yarn (argument) for PeerTube # required by yarn (argument) for PeerTube
@ -546,19 +546,19 @@ EOF
3. Compile the peertube set: 3. Compile the peertube set:
``` ```sh
emerge -a @peertube emerge -a @peertube
``` ```
4. Initialize the PostgreSQL database if you just merged it: 4. Initialize the PostgreSQL database if you just merged it:
``` ```sh
emerge --config postgresql emerge --config postgresql
``` ```
5. (For OpenRC) Enable and then start the services (replace with the correct PostgreSQL slot): 5. (For OpenRC) Enable and then start the services (replace with the correct PostgreSQL slot):
``` ```sh
rc-update add redis rc-update add redis
rc-update add postgresql-11 rc-update add postgresql-11
rc-service redis start rc-service redis start
@ -567,7 +567,7 @@ rc-service postgresql-11 start
6. Create Python version symlink for youtube-dl: 6. Create Python version symlink for youtube-dl:
``` ```sh
emerge -1 python-exec emerge -1 python-exec
``` ```
@ -575,19 +575,19 @@ emerge -1 python-exec
1. Install Packages: 1. Install Packages:
``` ```sh
pkg_add sudo bash wget git python nginx pkgconf postgresql-server postgresql-contrib redis openssl pkg_add sudo bash wget git python nginx pkgconf postgresql-server postgresql-contrib redis openssl
``` ```
2. Install yarn: 2. Install yarn:
``` ```sh
npm install --global yarn npm install --global yarn
``` ```
3. Allow users in the wheel group to use sudo 3. Allow users in the wheel group to use sudo
``` ```sh
visudo visudo
``` ```
Uncomment line #43: Uncomment line #43:
@ -598,7 +598,7 @@ Uncomment line #43:
4. Enable services: 4. Enable services:
``` ```sh
rcctl enable postgresql redis nginx rcctl enable postgresql redis nginx
``` ```