Peertube es una plataforma federada y de código abierto para alojamiento de videos que puedes ejecutar desde tu propia computadora.
Esto te permite tener control total sobre el contenido que alojas y compartes en tu sitio web. En este tutorial, te enseñaremos a instalar y alojar Peertube en Ubuntu.
¿Por qué Alojar y Usar Peertube?
Una de las características más atractivas de Peertube es su capacidad para cargar videos desde otras instancias, lo que permite ver contenido de otros sitios sin perder el control sobre tus datos.
Otra ventaja de Peertube sobre YouTube es que es completamente de código abierto.
Esto significa que cualquier persona puede revisar su código, lo cual es ideal para quienes priorizan la seguridad y privacidad de sus datos.
Instalación de Peertube
Antes de instalar Peertube, necesitas un servidor. Puede ser tu PC personal o un servidor alquilado. Este tutorial utiliza un VPS con Ubuntu.
1. Crea un nuevo usuario para Peertube
sudo useradd -b /bin/bash -m -d /var/www/peertube -G sudo peertube
sudo passwd peertube
2. Cambia al usuario recién creado
su peertube
3. Instala las dependencias necesarias
sudo apt install cron wget curl unzip python3-dev python-is-python3 certbot nginx python3-certbot-nginx ffmpeg postgresql postgresql-contrib openssl g++ make redis-server git
4. Instala NodeJS y Yarn
curl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -
sudo apt update
sudo apt install nodejs
curl -sL https://dl.yarnpkg.com/debian/pubkey.gpg | gpg --dearmor | sudo tee /usr/share/keyrings/yarnkey.gpg >/dev/null
echo "deb [signed-by=/usr/share/keyrings/yarnkey.gpg] https://dl.yarnpkg.com/debian stable main" | sudo tee /etc/apt/sources.list.d/yarn.list
sudo apt update
sudo apt install yarn
5. Habilita la base de datos
sudo systemctl enable postgresql
sudo systemctl start postgresql
sudo systemctl enable redis-server
sudo systemctl start redis-server
6. Agrega Peertube a PostgreSQL y crea la base de datos
sudo -u postgres createuser -P peertube
sudo -u postgres createdb -O peertube -E UTF8 -T template0 peertube_run
sudo -u postgres psql -c "CREATE EXTENSION pg_trgm;" peertube_run
sudo -u postgres psql -c "CREATE EXTENSION unaccent;" peertube_run
7. Descarga y descomprime Peertube
cd /var/www/peertube
mkdir config storage versions
cd versions
wget https://github.com/Chocobozzz/PeerTube/releases/download/v5.0.1/peertube-v5.0.1.zip
unzip peertube-v5.0.1.zip
8. Crea un enlace simbólico
ln -s /var/www/peertube/versions/peertube-v5.0.1 /var/www/peertube/peertube-latest
9. Instala Peertube con Yarn
cd /var/www/peertube/peertube-latest
yarn install --production --pure-lockfile
Configuración de Nginx y SSL
Para facilitar el acceso a Peertube, se recomienda configurar un proxy inverso con Nginx:
1. Copia la configuración de Nginx
sudo cp /var/www/peertube/peertube-latest/support/nginx/peertube /etc/nginx/sites-available/peertube
sudo rm /etc/nginx/sites-enabled/default
2. Edita la configuración
sudo nano /etc/nginx/sites-available/peertube
Reemplaza ${WEBSERVER_HOST} con tu dominio y ${PEERTUBE_HOST} con 127.0.0.1:9000.
3. Habilita el archivo y reinicia Nginx
sudo ln -s /etc/nginx/sites-available/peertube /etc/nginx/sites-enabled/
sudo systemctl reload nginx
4. Obtén un certificado SSL con Certbot
sudo certbot
Configuración y Ejecución de Peertube
1. Copia los archivos de configuración
cd /var/www/peertube
cp peertube-latest/config/production.yaml.example config/production.yaml
2. Edita production.yaml y ajusta
hostname:con tu dominio.database:con_runy tu contraseña.smtp:con los datos de tu servidor de correo.
3. Crea un servicio systemd
sudo cp /var/www/peertube/peertube-latest/support/systemd/peertube.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable peertube
sudo systemctl start peertube
Uso de Peertube
Si todo está configurado correctamente, accede a Peertube desde tu navegador con tu dominio. Para obtener la contraseña del usuario root:
sudo journalctl -u peertube | grep "User password:"
Ingresa con el usuario root y la contraseña generada. ¡Ahora puedes empezar a usar tu propia plataforma de videos con Peertube!