Invidious se describe a sí mismo como un front-end alternativo de Software Libre para YouTube. En términos básicos, esto significa acceder a YouTube a través de una interfaz diferente en un dominio diferente que elimina la publicidad, el seguimiento de los usuarios y la dependencia de las suscripciones de Google.

Como hemos mencionado anteriormente, está licenciado bajo AGPL-3.0 y Invidious puede ser autoalojado en servidores personales. Se puede montar con Docker pero también se puede hacer una instalación manual.

Recientemente Invidious está metida en "problemas" ya que YouTube ha enviado una notificación al autor del Software indicando que debe de "apagar" Invidious en 7 días. Está claro que Google no sabe muy bien como funciona el mundo del Software Libre, así que os vamos a explicar como configurar e instalar una instancia de Invidious.

Requisitos de Hardware

Para que funcione correctamente únicamente necesita 512MB de RAM. Para instancias públicas es recomendable un mínimo de 4GB de RAM, 2vCPU y 200mbps de ancho de banda y un mínimo de 20TB de tráfico.

Instalación de Invidious

Lo primero será instalar todo lo necesario para que funcione correctamente, así que lo primero será instalar dependencias que necesitaremos:

apt install libssl-dev libxml2-dev libyaml-dev libgmp-dev libreadline-dev postgresql librsvg2-bin libsqlite3-dev zlib1g-dev libpcre3-dev libevent-dev git make

Instalación de Crystal

Para utilizar Invidious es necesario instalar Crystal, para ello realizaremos lo siguiente:

curl -fsSL https://crystal-lang.org/install.sh | sudo bash -s -- --channel=nightly

Creamos usuario y clonamos repositorio

Creamos usuario para gestionar el programa en el sistema:

useradd -m invidious

Accedemos al usuario y clonamos repositorio:

su - invidious
git clone https://github.com/iv-org/invidious
exit

Configuramos PostgreSQL

Iniciamos el servicio de PostgreSQL:

systemctl enable --now postgresql

Y creamos el usuario y la base de datos:

sudo -i -u postgres
psql -c "CREATE USER kemal WITH PASSWORD 'supercontraseña';"
createdb -O kemal invidious
exit

Configuramos Invidious

Lo primero será acceder al usuario y entrar al directorio del repositorio:

su - invidious
cd invidious

Y compilamos:

make

Creamos el fichero de configuración:

cp config/config.example.yml config/config.yml 

Y hacemos la migración de la base de datos:

./invidious --migrate
crystal build src/invidious.cr -Ddisable_quic --release
exit

Configuración de SystemD

Configuramos ahora SystemD, primero copiamos el fichero que corresponde:

cp /home/invidious/invidious/invidious.service /etc/systemd/system/invidious.service

Y lo habilitamos:

systemctl enable --now invidious.service

Ahora tendremos el servicio escuchando por el puerto 3000. Lo siguiente será configurar un Proxy Inverso con Nginx.

Configurar Proxy Inverso con Nginx

Lo siguiente será configurar un Proxy Inverso para acceder con dominio a nuestra instancia de Invidious. Para ello deberemos de seguir estos pasos:

Configurar Proxy Inverso con Nginx para que escuche a un puerto interno
En ocasiones tenemos servicios o aplicaciones web que escuchan directamente a un puerto interno. Para evitar acceder a dicha aplicación o servicio por la IP del servidor, una configuración que podemos hacer es acceder desde un Nginx Proxy.
💡

Para este caso deberemos de configurar el Proxy Inverso con Nginx utilizando el puerto 3000.

Para más configuración podéis revisar la documentación oficial de Invidious.

Haz que cada palabra cuente: tu donación nos inspira a seguir creando contenido. Accede al apartado de Donación para hacer tu aportación