Перейти к основному содержимому

Peertube

Зависимости

⚠️ Внимание : руководство по зависимостям поддерживается сообществом. Некоторые части могут быть устаревшими! ⚠️

Основные зависимости, поддерживаемые PeerTube:

node LTS (>= 20.9 or 22.x)

yarn 1.x (не должно быть >=2.x)

postgres >=10.x

redis-server >=6.x

ffmpeg >=4.3 (использование статической сборки ffmpeg не рекомендуется)

python >=3.8

pip

примечание : поддерживаются только версии LTS внешних зависимостей. Если версия LTS, соответствующая ограничению версии, недоступна, поддерживаются только версии релиза .

sudo apt-get install curl sudo unzip vim
sudo apt install certbot nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git cron wget
g++ -v

// OR
sudo apt-get install curl unzip openssl g++ make git cron wget

Посмотреть список пользователей, подключенных к серверу в данный момент, можно при помощи команды who

Если пользователь, которого вы хотите удалить, авторизован на сервере, проверьте, какие процессы им запущены. Если какие-то операции выполняются пользователем в фоновом режиме, вы не сможете удалить учетную запись. Посмотреть список запущенных процессов можно с помощью команды:

sudo ps -u peertube

Далее вам нужно заблокировать доступ пользователя на сервер. Для этого введите команду:

sudo passwd -l peertube

Удаление процессов

В операционной системе Ubuntu невозможно удалить учетную запись пользователя, если им запущены какие-либо процессы. Завершить запущенные процессы можно с помощью команд:

kill — используется для удаления процессов по их идентификатору. Чтобы узнать идентификатор процесса, воспользуйтесь командой sudo ps -u username, где username — имя пользователя. Идентификатор будет отображаться в графе PID. Например, чтобы удалить процесс с PID 12345, нужно ввести команду: sudo kill 12345

pkill — используется для удаления процессов по их названию. Например, чтобы удалить процесс с именем nano у пользователя username, нужно ввести команду: sudo pkill nano -u username

killall — используется для удаления всех процессов, включая дочерние. В случае, когда вы собираетесь удалить пользователя, удобнее всего использовать эту команду. Рекомендуем добавить к команде ключ 9 — тогда процессы получат сигнал SIGKILL и будут принудительно завершены. Например, чтобы удалить все процессы для пользователя username, нужно ввести команду: sudo killall -9 -u peertube

Пользователь PeerTube Создайте peertube пользователя с /var/www/peertube домашним адресом:

sudo useradd -m -d /var/www/peertube -s /usr/sbin/nologin -p peertube peertube

sudo chown peertube:peertube /var/www/peertube

Установите пароль:

sudo passwd peertube

База данных

Создайте производственную базу данных и пользователя peertube внутри PostgreSQL:

cd /var/www/peertube
sudo -u postgres createuser -P peertube

Здесь вы должны ввести пароль для peertube пользователя PostgreSQL, который должен быть скопирован в production.yaml файл. Не нажимайте просто Enter, иначе он будет пустым.

sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_prod

Затем включите расширения, необходимые PeerTube:

sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_prod
sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_prod

Подготовьте каталог PeerTube

Загрузите последнюю версию Peertube с тегами:

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"

Откройте каталог peertube, создайте несколько необходимых каталогов:

cd /var/www/peertube
sudo -u peertube mkdir config storage versions
sudo -u peertube chmod 750 config/

Загрузите последнюю версию клиента Peertube, распакуйте ее и удалите zip-архив:

cd /var/www/peertube/versions
# Releases are also available on https://builds.joinpeertube.org/release
sudo -u peertube wget -q "https://github.com/Chocobozzz/PeerTube/releases/download/${VERSION}/peertube-${VERSION}.zip"
sudo -u peertube unzip -q peertube-${VERSION}.zip && sudo -u peertube rm peertube-${VERSION}.zip

Установить Peertube:

cd /var/www/peertube
sudo -u peertube ln -s versions/peertube-${VERSION} ./peertube-latest

cd ./peertube-latest
sudo -H -u peertube npm run install-node-dependencies -- --production

Конфигурация PeerTube Скопируйте файл конфигурации по умолчанию, содержащий конфигурацию по умолчанию, предоставленную PeerTube. Вы не должны обновлять этот файл.

cd /var/www/peertube
sudo -u peertube cp peertube-latest/config/default.yaml config/default.yaml

Теперь скопируйте конфигурацию примера производства:

cd /var/www/peertube
sudo -u peertube cp peertube-latest/config/production.yaml.example config/production.yaml

Затем отредактируйте config/production.yaml файл в соответствии с конфигурацией вашего веб-сервера и базы данных. В частности:

webserver: Публичная информация об обратном прокси-сервере secrets: Секретные строки, которые необходимо сгенерировать вручную (версия PeerTube >= 5.0) database: Настройки PostgreSQL redis: Настройки Redis smtp: Если вы хотите использовать электронную почту admin.email: Правильно заполнить root адрес электронной почты пользователя Ключи, определенные в , config/production.yaml переопределяют ключи, определенные в config/default.yaml.

PeerTube не поддерживает смену хоста веб-сервера .

systemd Если ваша ОС использует systemd, скопируйте шаблон конфигурации:

sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/

Check the service file (PeerTube paths and security directives):

sudo vim  /etc/systemd/system/peertube.service

Сообщите systemd о необходимости перезагрузить конфигурацию:

sudo systemctl daemon-reload

Если вы хотите запустить PeerTube при загрузке:

sudo systemctl enable peertube

Run:

sudo systemctl start peertube

sudo systemctl status peertube

sudo journalctl -feu peertube

cd /var/www/peertube/peertube-latest && NODE_CONFIG_DIR=/var/www/peertube/config NODE_ENV=production npm run reset-password -- -u root