bolt Valebyte VPS desde $4/mes — NVMe, despliegue en 60s.

Obtener VPS arrow_forward

PeerTube en VPS: instalación, configuración y mantenimiento

calendar_month 16 de junio de 2026 schedule 22 min de lectura visibility 33 vistas
person
Valebyte Team
PeerTube en VPS: instalación, configuración y mantenimiento

La instalación de PeerTube en un VPS permite desplegar tu propia plataforma de video descentralizada, proporcionando control total sobre el contenido, los datos y la privacidad, además de ofrecer flexibilidad en la configuración y escalabilidad para las necesidades de tu proyecto o comunidad.

¿Qué es PeerTube y por qué lo necesitas?

PeerTube es una innovadora plataforma de video descentralizada de código abierto, desarrollada por la organización francesa sin fines de lucro Framasoft. A diferencia de gigantes centralizados como YouTube o Vimeo, PeerTube no almacena todos los videos en un solo servidor. En su lugar, utiliza un modelo federado (Fediverse), donde múltiples servidores independientes (instancias) intercambian contenido, permitiendo a los usuarios ver videos desde cualquier instancia a la que estén conectados.

Plataforma de video descentralizada y sus ventajas

La principal diferencia de PeerTube radica en su arquitectura. Cada instancia de PeerTube funciona de forma independiente, pero puede federarse con otras instancias. Esto significa que un video publicado en un servidor puede ser descubierto y visto por usuarios de otros servidores si están unidos en una federación. Este sistema ofrece varias ventajas clave:

  • Resistencia a la censura: La ausencia de un único punto de control hace que la plataforma sea más resistente a bloqueos y censura. Si una instancia es bloqueada, las demás siguen funcionando.
  • Control sobre los datos: Los propietarios de las instancias controlan completamente sus datos y contenido, sin depender de las reglas corporativas.
  • Tecnología Peer-to-Peer (P2P): PeerTube utiliza la tecnología WebTorrent para la distribución de videos. Esto significa que, al ver un video, los usuarios pueden actuar simultáneamente como 'seeds', compartiendo partes del video con otros espectadores. Esto reduce significativamente la carga del servidor, especialmente con un gran número de vistas simultáneas, y permite un uso eficiente de los recursos de la red.
  • Ausencia de publicidad y trackers: La mayoría de las instancias de PeerTube están libres de publicidad intrusiva y mecanismos de seguimiento de usuarios, lo que garantiza una mayor privacidad.
  • Flexibilidad y personalización: El código abierto permite personalizar y modificar la plataforma según necesidades específicas, añadiendo temas, plugins y funciones.

Para aquellos que buscan soluciones de colaboración y intercambio de archivos en un VPS, recomendamos familiarizarse con la instalación de Filebrowser en un VPS, lo que puede ser un complemento útil para su infraestructura.

¿Por qué PeerTube self-hosted en un VPS?

El despliegue de PeerTube self-hosted en un VPS (Virtual Private Server) es una solución óptima para muchos escenarios. En primer lugar, proporciona control total sobre el entorno, permitiendo elegir el sistema operativo, configurar los parámetros de seguridad y optimizar el rendimiento para tus tareas. En segundo lugar, un VPS garantiza estabilidad y recursos dedicados, lo cual es crucial para el alojamiento de videos, especialmente si planeas servir a una comunidad activa o subir mucho contenido.

Teniendo PeerTube self-hosted en tu propio servidor, puedes:

  • Crear una plataforma de video de nicho para tu comunidad o proyecto.
  • Alojar contenido educativo sin restricciones.
  • Proporcionar alojamiento de video privado para necesidades corporativas.
  • Utilizar PeerTube como alternativa a las plataformas centralizadas, apoyando el internet descentralizado.

La instalación de PeerTube en un VPS a través de Docker/Compose simplifica significativamente el proceso de despliegue y gestión, minimizando las configuraciones manuales y asegurando una alta portabilidad.

Requisitos del sistema de PeerTube: ¿qué VPS elegir?

La elección de un VPS adecuado para PeerTube es un punto clave que influye directamente en el rendimiento y la estabilidad de tu plataforma de video. Los requisitos del sistema pueden variar significativamente dependiendo de la carga esperada: número de usuarios, volumen de contenido de video, frecuencia de subidas y reproducciones.

Requisitos mínimos para la instalación de PeerTube

Para una instalación básica de PeerTube y una instancia pequeña, destinada a uso personal o una comunidad muy reducida (hasta 5-10 usuarios activos, unas pocas decenas de videos), los requisitos mínimos serán los siguientes:

  • Procesador: 1-2 vCPU (núcleos virtuales). PeerTube utiliza Node.js para el backend y FFmpeg para la transcodificación de video, lo que puede ser intensivo en recursos.
  • Memoria RAM: 2 GB. Esto será suficiente para Node.js, PostgreSQL y Redis. Si se planea la transcodificación, se necesitará más.
  • Espacio en disco: 50-100 GB NVMe/SSD. NVMe es significativamente más rápido y preferible para bases de datos y acceso frecuente a archivos de video. El volumen depende de la cantidad y calidad de los videos que planeas almacenar.
  • Ancho de banda de red: 100-200 Mbps. Para una instancia pequeña, esto será suficiente, pero la tecnología P2P ayudará a reducir la carga del tráfico saliente.
  • Sistema operativo: Ubuntu 22.04 LTS (recomendado), Debian 11/12 o CentOS 8/9.

Es importante recordar que esto es el mínimo absoluto. Con un uso activo, especialmente al subir nuevos videos, transcodificar y un gran número de vistas simultáneas, estos recursos se agotarán rápidamente.

Configuraciones recomendadas para carga real

Para una instancia de PeerTube que servirá a una comunidad mediana (50-100 usuarios activos, cientos de videos, subidas regulares) o se utilizará para fines educativos/corporativos, se recomiendan las siguientes configuraciones de VPS:

  • Procesador: 4 vCPU. Esto proporcionará suficiente potencia para la transcodificación paralela, el procesamiento de solicitudes de Node.js y el funcionamiento de la base de datos.
  • Memoria RAM: 4-8 GB. Más RAM permitirá almacenar datos en caché, acelerar el funcionamiento de la base de datos y la transcodificación.
  • Espacio en disco: 200-500 GB NVMe/SSD. El volumen del disco es el recurso más crítico para el alojamiento de videos. Para almacenar grandes volúmenes de material de video, se debe considerar la posibilidad de escalar el espacio en disco o conectar almacenamiento externo.
  • Ancho de banda de red: 500 Mbps - 1 Gbps. Una alta velocidad de red es importante para la carga rápida de videos y para garantizar una visualización cómoda para todos los usuarios.
  • Sistema operativo: Ubuntu 22.04 LTS.

Si planeas crear una instancia grande con miles de videos y cientos de usuarios activos, necesitarás un servidor dedicado o una arquitectura de clúster con una base de datos distribuida y almacenamiento de objetos (por ejemplo, almacenamiento compatible con S3) para los archivos de video. En tal caso, PeerTube en el servidor requerirá una arquitectura más compleja.

Tabla comparativa de planes VPS de Valebyte.com para PeerTube

Valebyte.com ofrece varios planes VPS que son ideales para desplegar PeerTube. A continuación, se presenta una tabla con las configuraciones recomendadas y precios aproximados para ayudarte a elegir la opción óptima.

Plan Valebyte.com vCPU RAM Disco (NVMe) Tráfico Precio (aprox.) Recomendación para PeerTube
Entry-Level 2 4 GB 100 GB 1 TB desde $15/mes Uso personal, proyectos pequeños (hasta 20 videos, 10-20 usuarios)
Standard 4 8 GB 250 GB 2 TB desde $30/mes Instancia mediana, comunidad activa (hasta 100 videos, 50-100 usuarios)
Pro 6 16 GB 500 GB 4 TB desde $60/mes Instancia grande, mucho contenido y usuarios (cientos de videos, 100+ usuarios)
Enterprise (Dedicated) 8+ 32+ GB 1 TB+ 10 TB+ desde $120/mes Instancia de alta carga, plataforma pública, proyectos críticos

Al elegir un plan, siempre oriéntate al crecimiento potencial de tu instancia. Es mejor tomar un VPS con un pequeño excedente de recursos que enfrentarse a problemas de rendimiento en el futuro. Todos los planes de Valebyte.com incluyen discos NVMe de alta velocidad, lo cual es crucial para el rendimiento de PeerTube.

¿Buscas un servidor fiable para tus proyectos?

VPS desde $10/mes y servidores dedicados desde $9/mes con NVMe, protección DDoS y soporte 24/7.

Ver ofertas →

Preparación del VPS para la instalación de PeerTube a través de Docker

Antes de proceder con la instalación de PeerTube Docker, es necesario preparar tu VPS. Esta etapa incluye la elección del sistema operativo, la configuración básica de seguridad y la instalación de las herramientas necesarias, como Docker y Docker Compose.

Elección del sistema operativo y configuración inicial

Para PeerTube, se recomienda utilizar distribuciones de Linux con soporte a largo plazo (LTS). Las más populares y mejor soportadas son Ubuntu Server 22.04 LTS o Debian 11/12. En esta guía, utilizaremos Ubuntu 22.04 LTS.

Después de desplegar el VPS y el primer inicio de sesión por SSH (normalmente como usuario root), sigue estos pasos para la configuración inicial:

  1. Actualización del sistema: Siempre comienza actualizando todos los paquetes a sus versiones más recientes.
    sudo apt update && sudo apt upgrade -y
  2. Creación de un nuevo usuario con permisos sudo (opcional, pero recomendado): Trabajar como root no es seguro. Crea un usuario normal y añádelo al grupo sudo.
    sudo adduser peertubeuser
    sudo usermod -aG sudo peertubeuser
    Luego, cierra la sesión de root e inicia sesión con el nuevo usuario.
  3. Configuración del firewall (UFW): Habilita el firewall y permite los puertos necesarios. Para PeerTube, se requerirán los puertos SSH (22), HTTP (80) y HTTPS (443).
    sudo ufw allow OpenSSH
    sudo ufw allow http
    sudo ufw allow https
    sudo ufw enable
    Asegúrate de que SSH esté permitido antes de habilitar UFW, de lo contrario, podrías perder el acceso al servidor.

Instalación de Docker y Docker Compose

PeerTube recomienda oficialmente el despliegue de PeerTube Docker, ya que simplifica significativamente la gestión de dependencias y proporciona un entorno aislado. Instalaremos Docker Engine y Docker Compose.

  1. Instalación de Docker Engine:

    Elimina versiones antiguas de Docker (si las hay):

    for pkg in docker.io docker-doc docker-compose docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras; do sudo apt remove $pkg; done

    Instala los paquetes necesarios:

    sudo apt install ca-certificates curl gnupg lsb-release -y

    Añade la clave GPG oficial de Docker:

    sudo mkdir -p /etc/apt/keyrings
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg

    Añade el repositorio de Docker:

    echo \
      "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

    Actualiza la lista de paquetes e instala Docker Engine:

    sudo apt update
    sudo apt install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
  2. Añadir usuario al grupo Docker:

    Para no usar sudo cada vez que trabajes con Docker, añade tu usuario al grupo docker:

    sudo usermod -aG docker ${USER}

    Aplica los cambios cerrando la sesión SSH y volviendo a iniciarla, o reiniciando el sistema.

  3. Verificación de la instalación de Docker:
    docker run hello-world

    Si ves el mensaje "Hello from Docker!", significa que Docker está instalado y funcionando correctamente.

Ahora tu VPS está listo para el despliegue de PeerTube. Para aquellos interesados en otras soluciones para la gestión de proyectos en un VPS, consulta la instalación de Docmost en un VPS.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Instalación paso a paso de PeerTube Docker: de la imagen al lanzamiento

La forma más sencilla y recomendada de instalar PeerTube es utilizando Docker Compose. Este método permite desplegar todos los componentes de PeerTube (aplicación, base de datos PostgreSQL, Redis) en contenedores aislados, simplificando significativamente la gestión y actualización.

Creación de directorios y archivos de configuración

Para empezar, crea un directorio de trabajo para PeerTube y subdirectorios para almacenar los datos, lo cual es importante para la persistencia (los datos no se eliminarán al recrear los contenedores).

mkdir -p ~/peertube
cd ~/peertube
mkdir -p data/postgresql data/redis data/videos data/streaming-playlists data/avatars data/tmp

Ahora crearemos el archivo de configuración principal de PeerTube. Copia el archivo de configuración de ejemplo del repositorio de PeerTube. Asegúrate de usar la versión actual de PeerTube. En este ejemplo, usaremos la versión 6.1.1 (actual en el momento de escribir este artículo, verifica en el GitHub oficial).

wget https://github.com/Chocobozzz/PeerTube/releases/download/v6.1.1/config/production.yaml.example -O config/production.yaml

Edita el archivo config/production.yaml. Este es el paso de configuración más importante. Ábrelo con cualquier editor de texto (por ejemplo, nano):

nano config/production.yaml

En este archivo, debes modificar los siguientes parámetros:

  • webserver.hostname: Especifica el nombre de dominio de tu instancia de PeerTube (por ejemplo, my.peertube.example.com).
  • webserver.port: Deja 80 (o 443 si Nginx/Caddy no se utilizan para SSL).
  • database.hostname: Especifica peertube-postgres (nombre del servicio Docker).
  • database.password: Especifica una contraseña segura para el usuario de PostgreSQL.
  • redis.hostname: Especifica peertube-redis (nombre del servicio Docker).
  • secrets.secret: Genera una cadena aleatoria larga (por ejemplo, usando openssl rand -base64 32) e insértala aquí.
  • smtp: Configura los parámetros del servidor SMTP si quieres que PeerTube envíe correos (por ejemplo, para el registro de usuarios, restablecimiento de contraseñas).
  • storage: Verifica las rutas a los directorios, deben coincidir con las que hemos creado.

Guarda los cambios y cierra el archivo (Ctrl+X, Y, Enter para nano).

Configuración de docker-compose.yml para PeerTube

Ahora crearemos el archivo docker-compose.yml, que definirá todos los servicios de PeerTube.

nano docker-compose.yml

Pega el siguiente contenido. Asegúrate de que la versión de la imagen de PeerTube (image: chopeur/peertube:6.1.1) coincida con la versión para la que descargaste production.yaml.

version: "3.7"

services:
  peertube:
    image: chopeur/peertube:6.1.1 # Проверьте актуальную версию на Docker Hub или GitHub
    container_name: peertube
    restart: always
    environment:
      - NODE_ENV=production
      - PEERTUBE_DB_HOSTNAME=peertube-postgres
      - PEERTUBE_DB_USERNAME=peertube
      - PEERTUBE_DB_PASSWORD=${PEERTUBE_DB_PASSWORD} # Будет взято из .env
      - PEERTUBE_REDIS_HOSTNAME=peertube-redis
    volumes:
      - ./config:/app/config
      - ./data/videos:/app/data/videos
      - ./data/streaming-playlists:/app/data/streaming-playlists
      - ./data/avatars:/app/data/avatars
      - ./data/tmp:/app/data/tmp
    ports:
      - "127.0.0.1:9000:9000" # PeerTube слушает на порту 9000 внутри контейнера
    depends_on:
      - peertube-postgres
      - peertube-redis

  peertube-postgres:
    image: postgres:15-alpine
    container_name: peertube-postgres
    restart: always
    environment:
      - POSTGRES_USER=peertube
      - POSTGRES_PASSWORD=${PEERTUBE_DB_PASSWORD} # Будет взято из .env
      - POSTGRES_DB=peertube
    volumes:
      - ./data/postgresql:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U peertube"]
      interval: 10s
      timeout: 5s
      retries: 5

  peertube-redis:
    image: redis:7-alpine
    container_name: peertube-redis
    restart: always
    volumes:
      - ./data/redis:/data
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

Presta atención a PEERTUBE_DB_PASSWORD. Por seguridad, crea un archivo .env en el mismo directorio donde se encuentra docker-compose.yml, e indica allí la contraseña:

nano .env
PEERTUBE_DB_PASSWORD=ваш_очень_сложный_пароль_для_бд

Guarda y cierra .env. Asegúrate de que esta contraseña coincida con database.password en production.yaml.

Inicialización de la base de datos y lanzamiento de PeerTube

Después de configurar todos los archivos, puedes iniciar PeerTube. Primero, inicializa la base de datos. Esto solo debe hacerse una vez durante la primera instalación.

docker compose run --rm peertube yarn cli peertube:database:migrate

Luego, crea el primer administrador. Asegúrate de usar una contraseña segura.

docker compose run --rm peertube yarn cli peertube:user:create --username root --password 'ваш_сложный_пароль_администратора' --email [email protected] --role admin

Ahora, inicia todos los servicios de PeerTube en segundo plano:

docker compose up -d

Verifica el estado de los contenedores:

docker compose ps

Todos los contenedores deben estar en estado Up. PeerTube ahora está funcionando en tu VPS, pero solo es accesible localmente en el puerto 9000 (127.0.0.1:9000). Para el acceso externo y la seguridad, será necesario configurar un reverse proxy con HTTPS.

Configuración de Reverse Proxy (Nginx/Caddy) y HTTPS para PeerTube

Para garantizar un acceso seguro y conveniente a tu instancia de PeerTube desde internet, así como para el procesamiento automático de certificados SSL, se recomienda encarecidamente utilizar un reverse proxy. Analizaremos la configuración de Nginx y Caddy, dos opciones populares.

¿Por qué se necesita un Reverse Proxy?

Un reverse proxy realiza varias funciones clave:

  • Seguridad: Oculta la dirección IP real y el puerto de tu servidor PeerTube, actuando como intermediario.
  • Cifrado SSL/TLS (HTTPS): El reverse proxy puede gestionar certificados SSL (por ejemplo, de Let's Encrypt), proporcionando una conexión cifrada segura entre los usuarios y PeerTube.
  • Balanceo de carga: En escenarios más complejos, el reverse proxy puede distribuir las solicitudes entre varios servidores backend de PeerTube.
  • Almacenamiento en caché: Puede almacenar contenido estático en caché, reduciendo la carga en PeerTube.

Antes de configurar, asegúrate de que tu dominio (por ejemplo, my.peertube.example.com) apunte a la dirección IP de tu VPS.

Configuración de Nginx para PeerTube

Si Nginx aún no está instalado, instálalo:

sudo apt install nginx -y

Crea un nuevo archivo de configuración de Nginx para tu dominio:

sudo nano /etc/nginx/sites-available/peertube.conf

Pega el siguiente contenido, reemplazando my.peertube.example.com con tu dominio:

server {
    listen 80;
    listen [::]:80;
    server_name my.peertube.example.com;

    location /.well-known/acme-challenge/ {
        root /var/www/certbot;
    }

    location / {
        return 301 https://$host$request_uri;
    }
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name my.peertube.example.com;

    ssl_certificate /etc/letsencrypt/live/my.peertube.example.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/my.peertube.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/my.peertube.example.com/chain.pem;

    ssl_session_timeout 1d;
    ssl_session_cache shared:SSL:10m;
    ssl_session_tickets off;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers "ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384";
    ssl_prefer_server_ciphers on;

    add_header Strict-Transport-Security "max-age=63072000" always;
    add_header X-Content-Type-Options nosniff;
    add_header X-XSS-Protection "1; mode=block";
    add_header X-Frame-Options DENY;

    location / {
        proxy_pass http://127.0.0.1:9000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_redirect off;

        # WebSocket support
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
    }
}

Crea un enlace simbólico a sites-enabled y elimina la configuración predeterminada:

sudo ln -s /etc/nginx/sites-available/peertube.conf /etc/nginx/sites-enabled/
sudo rm /etc/nginx/sites-enabled/default

Verifica la configuración de Nginx y reinícialo:

sudo nginx -t
sudo systemctl restart nginx

Ahora tu PeerTube es accesible a través de Nginx, pero aún sin HTTPS. Lo configuraremos en la sección sobre Let's Encrypt.

Configuración de Caddy para PeerTube

Caddy es un servidor web moderno que gestiona automáticamente los certificados SSL de Let's Encrypt. Esto lo hace muy conveniente para el despliegue. Si aún no has instalado Caddy, hazlo:

sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg
curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list
sudo apt update
sudo apt install caddy -y

Crea o edita el archivo /etc/caddy/Caddyfile:

sudo nano /etc/caddy/Caddyfile

Elimina todo el contenido y pega lo siguiente, reemplazando my.peertube.example.com con tu dominio:

my.peertube.example.com {
    reverse_proxy 127.0.0.1:9000 {
        # WebSocket support
        header_up Upgrade {http.request.header.Upgrade}
        header_up Connection {http.request.header.Connection}
    }
}

Guarda y cierra el archivo. Verifica la configuración de Caddy y reinícialo:

sudo caddy validate --config /etc/caddy/Caddyfile
sudo systemctl restart caddy

Caddy obtendrá y configurará automáticamente los certificados SSL para tu dominio. Para aquellos que utilizan un VPS para otras aplicaciones web, como Wiki.js en un VPS, la configuración de un reverse proxy también es una práctica estándar.

Obtención y renovación automática de certificados SSL de Let's Encrypt

Si utilizas Nginx, necesitarás Certbot para obtener y gestionar los certificados SSL de Let's Encrypt. Caddy lo hace automáticamente.

Para Nginx:

  1. Instalación de Certbot:
    sudo apt install certbot python3-certbot-nginx -y
  2. Obtención del certificado:
    sudo certbot --nginx -d my.peertube.example.com

    Sigue las instrucciones en pantalla. Certbot configurará automáticamente Nginx para HTTPS y añadirá una regla para la renovación automática de certificados en Cron.

  3. Verificación de la renovación automática:
    sudo systemctl status certbot.timer

    Deberías ver que el temporizador está activo. Esto garantiza que tus certificados se renovarán automáticamente antes de su vencimiento.

Ahora tu PeerTube debería ser accesible por HTTPS a través de tu dominio.

Mantenimiento de PeerTube: copias de seguridad, actualizaciones y monitoreo

El mantenimiento eficaz de una instancia de PeerTube en un VPS es crucial para su estabilidad y seguridad a largo plazo. Esto incluye copias de seguridad regulares de los datos, actualizaciones oportunas y un monitoreo constante del rendimiento.

Estrategias de copia de seguridad de PeerTube

La copia de seguridad es tu seguro contra la pérdida de datos. Para PeerTube, es necesario hacer una copia de seguridad de varios componentes clave:

  1. Base de datos PostgreSQL: Contiene toda la información sobre usuarios, videos, comentarios y configuraciones de la instancia.
  2. Archivos de configuración de PeerTube: El archivo config/production.yaml y otras configuraciones.
  3. Archivos de video: Los directorios data/videos, data/streaming-playlists, data/avatars. Estos son los datos más voluminosos.

Estrategia de copia de seguridad recomendada:

Paso 1: Detener PeerTube (para la consistencia de los datos)

cd ~/peertube
docker compose stop peertube

Paso 2: Crear un volcado de la base de datos PostgreSQL

docker compose exec -T peertube-postgres pg_dumpall -U peertube > ~/peertube_backup/peertube_db_$(date +%F).sql

Paso 3: Archivar la configuración y los archivos multimedia

tar -czvf ~/peertube_backup/peertube_config_$(date +%F).tar.gz ~/peertube/config
tar -czvf ~/peertube_backup/peertube_media_$(date +%F).tar.gz ~/peertube/data/videos ~/peertube/data/streaming-playlists ~/peertube/data/avatars

Paso 4: Iniciar PeerTube

cd ~/peertube
docker compose start peertube

Paso 5: Mover las copias de seguridad a un almacenamiento remoto

Es extremadamente importante no almacenar las copias de seguridad en el mismo servidor donde se encuentra PeerTube. Utiliza almacenamiento remoto, como servicios compatibles con S3, servidores SFTP o herramientas especializadas. Para automatizar este proceso, puedes usar Restic en un VPS, que proporciona copias de seguridad incrementales y cifradas.

Configura un script de copia de seguridad y añádelo a Cron para su ejecución diaria o semanal.

Proceso de actualización de PeerTube e imágenes Docker

La actualización de PeerTube implica la actualización de las imágenes de Docker y la ejecución de migraciones de la base de datos. Siempre verifica la documentación oficial de PeerTube en GitHub antes de actualizar, ya que el proceso puede cambiar.

Proceso general de actualización:

  1. Detener PeerTube:
    cd ~/peertube
    docker compose stop
  2. Crear una copia de seguridad: ¡Siempre haz una copia de seguridad completa antes de actualizar!
  3. Actualización de imágenes Docker: Edita docker-compose.yml y cambia la versión de la imagen de PeerTube (por ejemplo, de 6.1.1 a 6.2.0). Luego, descarga las nuevas imágenes:
    docker compose pull
  4. Ejecución de migraciones de la base de datos:
    docker compose run --rm peertube yarn cli peertube:database:migrate
  5. Iniciar PeerTube:
    docker compose up -d
  6. Limpieza de imágenes antiguas (opcional):
    docker image prune

Además, no olvides actualizar el propio sistema operativo y los paquetes:

sudo apt update && sudo apt upgrade -y

Monitoreo del rendimiento y recursos del VPS

El monitoreo constante de tu VPS te ayudará a identificar a tiempo problemas de rendimiento, cuellos de botella y posibles amenazas de seguridad. Las métricas clave para el monitoreo son:

  • Uso de CPU: Una alta carga de CPU puede indicar transcodificación activa, un gran número de solicitudes o problemas en la aplicación.
  • Uso de RAM: La falta de memoria RAM llevará al uso de swap, lo que ralentizará significativamente el servidor.
  • Uso del disco: Asegúrate de tener suficiente espacio libre, especialmente para los archivos de video. El monitoreo de las operaciones de E/S en el disco también es importante.
  • Tráfico de red: El monitoreo del tráfico entrante y saliente ayudará a comprender la carga de la red y la eficiencia de la distribución P2P.
  • Disponibilidad de servicios: Asegúrate de que los contenedores de PeerTube, PostgreSQL y Redis estén siempre en funcionamiento.

Para el monitoreo, puedes utilizar herramientas como:

  • htop, glances: Para monitoreo interactivo de recursos en tiempo real.
  • Prometheus + Grafana: Para la recopilación y visualización integral de métricas.
  • Netdata en un VPS: Una herramienta ligera pero potente para el monitoreo en tiempo real con una interfaz web conveniente.

Revisa regularmente los logs de los contenedores de PeerTube, PostgreSQL y Nginx/Caddy en busca de errores o advertencias:

docker compose logs -f peertube

Esto ayudará a reaccionar rápidamente ante cualquier problema que surja.

rocket_launch Elección rápida

¿Buscas un servidor que simplemente funcione?

Valebyte VPS — NVMe, soporte 24/7, despliegue en 60 segundos.

Ver planes VPS arrow_forward

Optimización de PeerTube en el servidor y escalabilidad

A medida que tu instancia de PeerTube crece, las cuestiones de optimización del rendimiento y escalabilidad se vuelven cada vez más relevantes. Una gestión eficiente de los recursos permitirá garantizar el funcionamiento estable de la plataforma incluso bajo alta carga.

Configuración de transcodificación y almacenamiento de video

La transcodificación de video es uno de los procesos más intensivos en recursos en PeerTube. Al subir un video, PeerTube crea varias versiones del archivo en diferentes resoluciones y formatos para compatibilidad con diversos dispositivos y velocidades de red.

  • Uso de GPU para transcodificación: Si tu VPS soporta GPU passthrough o utilizas un servidor dedicado con GPU, puedes configurar FFmpeg para usar la aceleración por hardware en la transcodificación. Esto reducirá significativamente la carga de la CPU y acelerará el procesamiento de video. Sin embargo, esto requiere una configuración más compleja de Docker y los controladores.
  • Limitación del número de transcodificaciones simultáneas: En el archivo config/production.yaml, puedes configurar los parámetros de transcodificación, incluyendo el número de tareas simultáneas. Reducir este número disminuirá la carga máxima de la CPU, pero aumentará el tiempo de espera para los videos subidos.
  • Configuración de la calidad de transcodificación: Puedes definir qué resoluciones y tasas de bits se generarán. Si no necesitas videos 4K, puedes desactivar estas opciones para ahorrar espacio y recursos.
  • Almacenamiento de objetos (Object Storage): Para un almacenamiento escalable de archivos de video, se recomienda utilizar almacenamiento de objetos compatible con S3 (por ejemplo, Amazon S3, DigitalOcean Spaces, MinIO). PeerTube soporta esta integración, lo que permite almacenar archivos multimedia por separado del servidor principal, ahorrando significativamente espacio en disco del VPS y simplificando las copias de seguridad.

Ejemplo de configuración de object_storage en config/production.yaml:

object_storage:
  enabled: true
  endpoint: 's3.eu-central-1.amazonaws.com' # или ваш endpoint
  bucket_name: 'peertube-videos'
  access_key_id: 'YOUR_ACCESS_KEY_ID'
  secret_access_key: 'YOUR_SECRET_ACCESS_KEY'
  # ... другие настройки, например, region, force_path_style, etc.

No olvides también configurar las variables de entorno correspondientes en docker-compose.yml para PeerTube, de modo que pueda acceder a tus claves S3.

Expansión del espacio en disco y la red

A medida que la colección de videos crece, el espacio en disco se convertirá en el principal cuello de botella. Si no utilizas almacenamiento de objetos externo, necesitarás:

  • Escalado del VPS: Actualiza tu plan de VPS en Valebyte.com a uno con mayor capacidad que ofrezca más disco NVMe.
  • Conexión de discos adicionales: Algunos proveedores permiten conectar discos adicionales (Block Storage) a un VPS existente. Puedes montarlos en el directorio data/videos.

El ancho de banda de la red también es crítico. Aunque PeerTube utiliza P2P para la distribución, el servidor seguirá manejando un volumen significativo de tráfico, especialmente para el primer espectador o si la red P2P no es lo suficientemente densa. Asegúrate de que tu plan de VPS ofrezca suficiente ancho de banda (mínimo 500 Mbps, idealmente 1 Gbps) y un volumen de tráfico mensual adecuado.

Uso de CDN y otras soluciones de escalabilidad

Para la distribución global de contenido y la reducción de la carga en tu servidor, considera el uso de una CDN (Content Delivery Network). Una CDN almacena en caché tu contenido (por ejemplo, archivos de video) en servidores ubicados más cerca de los usuarios, lo que acelera la carga y reduce las latencias.

PeerTube se puede configurar para trabajar con una CDN, redirigiendo las solicitudes de archivos multimedia a través de un proveedor de CDN. Esto es especialmente útil si tu audiencia está distribuida geográficamente.

En caso de una carga muy alta y la necesidad de máxima tolerancia a fallos, se pueden considerar arquitecturas más complejas:

  • Clúster Docker Swarm o Kubernetes: Para la orquestación de contenedores y el escalado horizontal de PeerTube.
  • Servidores dedicados: Para el máximo rendimiento y control sobre los recursos de hardware.

Sin embargo, para la mayoría de los usuarios y comunidades, un VPS de PeerTube bien configurado con recursos suficientes y un sistema de almacenamiento de objetos externo será más que suficiente.

Conclusiones

La instalación de PeerTube en un VPS utilizando Docker Compose es una forma fiable y flexible de desplegar tu propia plataforma de video descentralizada. La elección de un plan de VPS adecuado con discos NVMe y suficiente RAM, así como una configuración correcta del reverse proxy y HTTPS, garantizan un funcionamiento estable y seguro. Las copias de seguridad regulares y el monitoreo aseguran la longevidad de tu instancia, y la optimización de la transcodificación y el uso de almacenamiento externo permitirán escalar a medida que tu comunidad crezca.

¿Listo para elegir un servidor?

VPS y servidores dedicados en más de 72 países con activación instantánea y acceso root completo.

Empezar ahora →

Compartir esta publicación:

support_agent
Valebyte Support
Usually replies within minutes
Hi there!
Send us a message and we'll reply as soon as possible.