🧩 Descargador de YouTube - Interfaz Web (Docker + Flask + yt-dlp)
Esta aplicación proporciona una interfaz web simple para descargar vídeos o audios (en formato MP3) de YouTube, tanto de forma individual como a partir de listas de reproducción. Está desarrollada con Flask, usa Bootstrap 5 para el frontend y yt-dlp para las descargas. Se ejecuta fácilmente mediante Docker.
🚀 Características
✅ Descarga de vídeo o audio MP3 individual
✅ Descarga de listas completas de reproducción en formato ZIP
✅ Interfaz moderna con pestañas (Bootstrap)
✅ Envío automático del archivo al cliente tras la descarga
✅ Funcionamiento 100% en servidor local (no se sube nada a la nube)
✅ Preparado para ejecutarse dentro de Docker
📁 Estructura del proyecto
ytdwl/
├── app/
│ ├── main.py # Backend en Flask
│ ├── requirements.txt # Dependencias Python
│ ├── templates/
│ │ └── index.html # Interfaz HTML (Bootstrap)
│ └── downloads/ # Carpeta donde se guardan descargas temporales
├── Dockerfile # Imagen con Python, yt-dlp, ffmpeg
├── docker-compose.yml # Configuración del contenedor
└── README.md # Este documento
🧰 Requisitos
- Docker
- Docker Compose
🛠️ Instalación y ejecución
1. Clonar el repositorio o copiar los archivos
git clone https://gitea.martivich.es/marti/YTDownloader.git
cd YTDownloader
O copia el contenido manualmente si no usas Git.
2. Construir la imagen Docker
docker compose build
3. Ejecutar el contenedor
docker compose up -d
Esto levantará la aplicación en el puerto 5000 por defecto (puedes cambiarlo en docker-compose.yml si está ocupado).
4. Acceder a la web
Abre tu navegador en:
http://localhost:5000
🌐 Uso
▸ Descargar un solo vídeo o canción:
- Ve a la pestaña "Vídeo / MP3 individual"
- Pega la URL del vídeo
- Selecciona "Vídeo" o "MP3"
- Pulsa Descargar
- El navegador descargará el archivo directamente
▸ Descargar una lista de reproducción:
- Ve a la pestaña "Lista de reproducción"
- Pega la URL de la lista
- Selecciona "Vídeo" o "MP3"
- Pulsa Descargar Lista
- El navegador descargará un ZIP con todos los elementos
🧹 Limpieza
Todos los archivos descargados se eliminan automáticamente tras ser enviados al cliente.
No se acumula contenido en el servidor.
🛑 Parar el contenedor
docker compose down
🔐 Notas de seguridad
- Esta aplicación está pensada para uso personal y educativo.
- Respeta siempre los derechos de autor y las condiciones de uso de las plataformas.
- No expongas la aplicación a Internet sin protección adecuada.
📜 Licencia
MIT © Marti Vich