videodeck
Aplicación web auto-alojada para buscar y reproducir videos de YouTube descargados con yt-dlp. Usa Elasticsearch como índice, React/Node.js en el frontend, incluye extensión Chrome y soporte multilenguaje (Polaco/Inglés).
Ficha actualizada 25 sept 2026, 6:50 · upstream 25 sept 2026, 6:29 · release sin release detectada
Qué es videodeck
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
Videodeck es una aplicación web auto-alojada diseñada para buscar y reproducir videos de YouTube que han sido previamente descargados utilizando yt-dlp. El sistema indexa títulos, descripciones, comentarios y transcripciones de subtítulos en Elasticsearch, permitiendo búsquedas avanzadas con plegado de diacríticos (útil para caracteres polacos). El reproductor web maneja subtítulos multilenguaje directamente en el navegador.
La arquitectura se basa en Node.js 22.x con React para el frontend y Elasticsearch como motor de búsqueda. Incluye una cola de descarga por canal que persiste incluso al cerrar pestañas, y soporta múltiples carpetas de videos separadas por punto y coma o coma. La aplicación ofrece modo oscuro, diseño responsivo y documentación completa en polaco e inglés.
Para el despliegue se requiere Elasticsearch 8.x o 9.x (local o remoto), Node.js 22.x con pnpm, y Chrome 88+ para la extensión opcional. El servidor escucha por defecto solo en loopback (127.0.0.1) para seguridad, pero puede exponerse a red con token API. Incluye medidas de protección contra SSRF, inyección de comandos en yt-dlp y rebinding DNS.
- Buscar videos de YouTube por título, descripción o transcripción con soporte para caracteres diacríticos (ej: 'srodek' encuentra 'środek')
- Reproducir videos descargados con subtítulos multilenguaje en el navegador sin necesidad de reindexar
- Gestionar descargas automáticas por canal con cola persistente y configuración específica por carpeta
- Usar extensión Chrome para añadir videos directamente desde YouTube con progreso en tiempo real
- Búsqueda con plegado de diacríticos que normaliza caracteres polacos (ej: 'ś' como 's')
- Reproductor HTML5 integrado con soporte nativo para subtítulos .vtt descargados
- Cola de descarga por canal que sobrevive al cierre del navegador y persiste en disco
- Seguridad reforzada: solo loopback por defecto, token API obligatorio para acceso remoto, bloqueo de flags peligrosos en yt-dlp
- Requiere Elasticsearch como base de datos; no soporta bases de datos alternativas sin configuración adicional
- La extensión Chrome requiere versión 88+ y solo funciona en navegadores Chromium
- El reindexado completo puede tardar considerablemente en bibliotecas grandes (se muestra progreso en toast)
- Por defecto, el servidor solo escucha en loopback; acceso remoto requiere configuración manual de API_TOKEN y HOST
Capturas del proyecto
Imágenes reales detectadas en la documentación del repositorio.
Perfil de infraestructura
Estimación inicial derivada del repositorio y de los servicios detectados.
Despliegue detectado
Qué señales reales de instalación hemos encontrado.
Desplegar con Docker Compose o manualmente. Requiere Elasticsearch 8.x/9.x en puerto 9200. Configurar VIDEOS_FOLDER_PATH en .env con rutas separadas por ; o ,. Para acceso remoto, establecer API_TOKEN y HOST=0.0.0.0. Usar ALLOWED_HOSTS y CORS_ORIGINS para restringir accesos. Verificar que yt-dlp esté instalado globalmente o usar el binario incluido. El reindexado inicial es obligatorio tras añadir carpetas.
Stack y dependencias
Componentes inferidos a partir de manifests, configuración y documentación.
Puede sustituir a
Relaciones detectadas por el análisis del repositorio y su categoría.
Experiencia real de la comunidad
Ayuda a contrastar la estimación automática con instalaciones reales.
Todavía no hay datos comunitarios para este proyecto.


