Inicio Instancia de piped con docker y caddy
Entrada
Cancelar

Instancia de piped con docker y caddy

Hasta la polla que estoy del youtube. Poner un vídeo es algo insufrible. Entre lo que tarda en cargar, los anuncios, que se para cuando estás viendo un vídeo largo para preguntarte si sigues ahí, las sugerencias de las narices (no sé por qué cojones me sugiere vídeos de Jiménez Losantos de forma insistente si yo no he visto un vídeo de ese especímen en mi puta vida) y que para escuchar un vídeo en segundo plano en el móvil hay que pagar el premium, pues he decido acabar con toda esa mierda instalando una instancia de piped en el servidor.

Piped es un frontend que hace de intermediario entre youtube y tú para saltarse toda esa mierda que he descrito en el párrafo anterior.

Explicado esto, vamos al lío.

Requisitos.

Hay que tener instalado docker, docker-compose, git, y en mi caso, como tengo más servicios en el servidor, tengo caddy como proxy inverso, aunque se puede hacer la instalación para que piped corra directamente.

Instalación.

  • Lo primero en crear los nombres de los subdominios que vamos a necesitar para ir adelantando el proceso, que a veces tarda un ratico. Así que creamos tres subdominios en plan piped.dominio.com, pipedapi.dominio.com y pipedproxy.dominio.com. Estos son los subdominios que vamos a utilizar cuando lancemos el instalador.

  • Clonamos el repositorio git donde se encuentra piped, nos vamos al directorio que se ha creado y ejecutamos el instalador, eligiendo nginx como servidor, ya que si elegimos caddy no podremos usar nuestro caddy ya instalado como proxy inverso. Acto seguido, lanzamos el docker-compose y a esperar.
    1
    2
    3
    4
    
    git clone https://github.com/TeamPiped/Piped-Docker
    cd Piped-Docker
    sudo ./configure-instance.sh
    sudo docker-compose.yml up -d
    
  • Ahora tenemos que editar el archivo /etc/caddy/Caddyfile para agregar el nuevo servicio añadiendo las siguientes líneas:
    1
    2
    3
    
    piped.dominio.com, pipedapi.dominio.com, pipedproxy.dominio.com {
      reverse_proxy http://127.0.0.1:8080
    }
    
  • Reiniciamos caddy con sudo systemctl restart caddy y listo.

Actualizaciones

Ya tenemos piped funcionando, pero como piped depende de youtube, cada vez que cambian algo desde los servidores de google piped se va al carajo. La solución es tenerlo siempre con la última actualización disponible. Para que no te tengas que preocupar de esto, con la instancia de piped también se levanta un contenedor con watchtower, servicio que se encarga de mirar periódicamente si hay actualizaciones de los contenedores y las ejecuta sin que tengamos que hacer absolutamente nada.

Peeeero, alguna vez no querrás esperar a que watchtower encuentre actualizaciones con lo que tendrás que actualizar los contenedores a mano. Es tan simple como lanzar el siguiente comando:

1
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once piped-frontend piped-backend piped-proxy varnish nginx caddy postgres watchtower

Y san seacabó.

Más información en: docs.piped.video

Esta entrada está licenciada bajo CC BY 4.0 por el autor.