TPTito Pinardo Gutiérrez
← Volver al rack
English
1U · LIBRARY*arr · perfiles · subtítulos En producción

Posición 13 de 25 en el rack · En producción

Unidad 1U · Multimedia

La biblioteca automatizada

Perfiles en castellano primero

Un conjunto de servicios que hace el trabajo aburrido de una biblioteca grande: cuando alguien de casa pide una película o una serie, se encarga de que llegue con su nombre correcto, sus metadatos, la calidad e idioma que elegí y sus subtítulos, y de que Plex la encuentre.

Por qué
Ordenar a mano miles de ficheros es imposible de mantener. Con perfiles y reglas, la biblioteca se queda ordenada sola.
Qué decide
Perfiles de calidad e idioma: castellano primero, y para anime, japonés con subtítulos como respaldo.
Dónde se ve
Los paneles solo desde casa o la VPN, detrás de la puerta interna con doble factor.
  • 3.295ficheros de vídeo revisados
  • 41películas en el idioma equivocado, limpiadas
  • +74 GBde disco tras un «database or disk is full»
  • 2FApara entrar a cualquier panel

Su código, en abierto Versión pública del repositorio: sin IPs ni secretos.

La biblioteca por dentro

Pedir algo, que llegue con buen nombre, en la calidad y el idioma de casa y con subtítulos: todo sin tocarlo. Elige un recorrido.

Hermesde visita en la unidad

Pulsa una pieza o elige un recorrido. Si vienes de una habilidad, ya están encendidas las piezas donde la uso.

      Alguien pide una película
      1. La familia — Alguien de casa pide una película desde la web de peticiones.
      2. Peticiones — La petición pasa al gestor de películas.
      3. Gestor de películas — El gestor de películas la busca.
      4. Perfiles de calidad e idioma — Los perfiles deciden qué versión vale: castellano, buena calidad, tamaño razonable.
      5. Importación — Cuando llega, se importa.
      6. Nombres y carpetas — Con su título y año, en su carpeta.
      7. Enlaces duros — Movida con un enlace duro: sin copiar nada.
      8. El pool de la biblioteca — Al pool.
      9. Subtítulos — Llegan sus subtítulos.
      10. Plex — Plex la encuentra a la primera.
      11. La familia — Y aparece en la tele.
      Reviso los gestores
      1. Puerta interna — Abro un panel desde casa.
      2. Authelia — Authelia pide doble factor.
      3. Gestor de stacks — Desde el gestor de stacks veo los contenedores.
      4. Gestor de series — Reviso las series.
      5. Perfiles de calidad e idioma — Y ajusto un perfil.
      Una importación que no puede ser automática
      1. Gestor de series — El gestor de series avisa: no puede importar algo solo.
      2. Importación — La importación automática está bloqueada.
      3. La API de los gestores — Con la API indico qué episodio es cada fichero.
      4. Importación — La importación termina.
      5. Nombres y carpetas — Con sus nombres correctos.
      6. Plex — Y aparece en Plex.
      Una película que no se reproduce
      1. Plex — Plex da «error de red» al reproducir una película.
      2. Revisar un fichero — Antes de tocar la red, miro el fichero por dentro.
      3. El pool de la biblioteca — En el pool, el fichero ocupa mucho menos de lo que dice.
      4. Revisar un fichero — Los primeros megas son ceros: el fichero está roto, no la red.
      5. Gestor de películas — El gestor lo marca para volver a conseguirlo.
      La base de datos se queda sin sitio
      1. Gestor de películas — El gestor de películas empieza a fallar.
      2. Base de datos de los gestores — Su base de datos dice «database or disk is full».
      3. Disco del contenedor — El disco del contenedor estaba casi lleno.
      4. Monitorización — La monitorización lo tenía en rojo.
      5. Disco del contenedor — Se amplía el disco en caliente.
      6. Base de datos de los gestores — Y la base vuelve a funcionar, sin perder nada.
      1. La familia

        Pide lo que quiere ver desde una web sencilla.

      2. Plex

        Donde acaba todo. Tiene su propia unidad.

      3. Puerta interna

        La entrada a los paneles.

      4. El pool de la biblioteca

        Donde viven los ficheros.

        • ZFS
      5. Peticiones

        Una web para pedir películas y series, que se las pasa a los gestores.

        • Docker
      6. Estadísticas de Plex

        Qué se ve, cuándo y cómo: si algo se convierte demasiado, se nota aquí.

        • Docker
      7. Authelia

        Doble factor delante de todos los paneles.

        • Linux / SSH hardening
      8. Gestor de stacks

        Cada grupo de servicios es un stack de Docker Compose.

        • Docker
      9. Gestor de películas

        Sabe qué películas hay, cuáles faltan y en qué calidad están.

        • Docker
      10. Gestor de series

        Lo mismo por temporadas y episodios.

        • Docker
      11. Perfiles de calidad e idioma

        Las reglas de qué versión es mejor: castellano primero, buena calidad sin pasarse de tamaño.

        • Docker
      12. Subtítulos

        Busca y sincroniza los subtítulos que faltan.

        • Docker
      13. Importación

        Cuando un fichero llega, se identifica y se mueve a su sitio.

      14. Nombres y carpetas

        Título y año, siempre igual: así Plex lo reconoce a la primera.

      15. La API de los gestores

        Cuando la importación automática no puede, la API deja hacerla a mano con precisión.

        • Python
      16. Base de datos de los gestores

        Cada gestor guarda en SQLite lo que sabe de la biblioteca.

      17. Disco del contenedor

        Donde viven esas bases. Si se llena, fallan.

        • LXC
      18. Revisar un fichero

        Mirar por dentro un fichero que no se reproduce, antes de culpar a la red.

        • Linux (Debian, Alpine, Arch)
      19. Monitorización

        Vigila los discos y los contenedores Docker.

        • Zabbix

      Lo que uso de mi árbol

      Pulsa una habilidad: se encienden en el mapa las piezas donde la uso y te cuento para qué.

      LXC
      El contenedor de Docker del servidor, con su disco ampliado cuando hizo falta.
      ZFS
      La biblioteca en su pool, con enlaces duros para mover sin copiar.
      Docker
      Cada servicio en su contenedor, agrupados en stacks de Docker Compose.
      Linux (Debian, Alpine, Arch)
      ffprobe para mirar los ficheros por dentro.
      Zabbix
      Vigila los discos y los contenedores.
      Linux / SSH hardening
      Paneles solo detrás de la puerta interna con doble factor.
      Python
      Scripts contra la API de los gestores para importaciones manuales y revisiones.

      Bitácora de incidencias

      Averías reales. Lee el síntoma, elige la causa que creas y mira cómo se arregló.

      1. #1

        «database or disk is full»

        03-08-2026 · disco

        El gestor de películas registró 60 errores de base de datos en diez minutos.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        No era la biblioteca, que tiene su propio pool, sino el disco del contenedor, donde viven las bases de datos, las imágenes de Docker y los registros.
        Solución
        Ampliar el disco del contenedor en 74 GB desde el hipervisor, sin pararlo.
        Lección
        «Disco lleno» no dice qué disco. Mirar cuál, antes de borrar nada de la biblioteca.
      2. #2

        Una temporada entera que no se importaba

        11-07-2026 · importación

        Una temporada completa había llegado y estaba en la cola como terminada, pero el gestor se negaba a importarla y los episodios no aparecían.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        Al venir toda la temporada en un solo bloque, el gestor sabía de qué serie era pero no qué fichero correspondía a qué episodio, y bloquea la importación para no equivocarse.
        Solución
        Importar a mano por la API, indicando cada episodio. Quedó documentado como procedimiento.
        Lección
        Cuando una automatización se para por prudencia, la salida no es saltársela sino darle el dato que le falta.
      3. #3

        «Error de red» que no era de red

        04-09-2026 · reproducción

        Una película daba error de red al reproducirla en Plex, en cualquier dispositivo.

        ¿Qué crees que pasaba?

        Ver la solución
        Causa
        El fichero tenía los primeros megas a cero y ocupaba en disco bastante menos de lo que decía su tamaño: estaba incompleto. Plex lo contaba como error de red.
        Solución
        Confirmarlo mirando el fichero por dentro y pedir al gestor que lo consiga de nuevo.
        Lección
        El mensaje de error describe dónde se notó, no dónde está el fallo. Mirar el dato antes que el camino.

      Cómo se construyó

      1. Verano de 2026

        Biblioteca ordenada

        • Gestores de películas y series, subtítulos y peticiones.
        • Perfiles en castellano y limpieza de lo que estaba en otro idioma.
      2. Septiembre de 2026

        Detrás de la puerta interna

        • Todos los paneles con doble factor y solo desde casa o la VPN.

      Decisiones (y por qué)

      • Cómo se elige la versión

        Perfiles explícitos

        Decidir caso a caso no escala. Un perfil dice qué idioma, calidad y tamaño son aceptables y el gestor aplica siempre lo mismo.

      • Cómo se mueven los ficheros

        Enlaces duros en el mismo pool

        Copiar duplicaría espacio y tiempo. Con enlaces duros mover es instantáneo y no ocupa más.

      Lo que aprendí

      • Reglas antes que trabajo manual: los perfiles ordenan mejor que yo.
      • Leer bien qué disco está lleno y qué está roto de verdad.

      Lo siguiente

      • Avisos de los gestores en una sala propia en vez de revisarlos a mano.

      ¿Hablamos?

      Puedo contar cualquiera de estas decisiones en detalle en una entrevista.

      Descargar CV Contactar ← Volver al rack

      Contado en genérico a propósito, igual que en el laboratorio: sin fuentes, descargas ni títulos.