file-minify
file-minify es una aplicación web autoalojada para comprimir y convertir archivos multimedia y documentos. Utiliza React en el frontend y Node.js con herramientas como FFmpeg, Ghostscript y LibreOffice en el backend, todo ejecutado dentro de contenedores Docker.
Ficha actualizada 23 sept 2026, 22:16 · upstream 23 sept 2026, 22:04 · release sin release detectada
Qué es file-minify
Descripción editorial construida a partir del repositorio, su documentación y sus señales de mantenimiento.
file-minify es una herramienta autoalojada diseñada para la compresión y conversión eficiente de archivos multimedia y documentos sin necesidad de subirlos a servidores externos. El frontend está construido con React y TypeScript, mientras que el backend utiliza Node.js junto con herramientas nativas como FFmpeg, Ghostscript, ImageMagick y LibreOffice, todo encapsulado en contenedores Docker para facilitar el despliegue.
La aplicación ofrece tres niveles de compresión (menor, equilibrado, mejor calidad) adaptados a cada formato, permitiendo ajustar resolución y bitrate en videos. También convierte documentos de Office a PDF y fusiona múltiples archivos imprimibles en un solo documento ordenable mediante arrastrar y soltar. Un aspecto clave es la privacidad: los metadatos sensibles como la ubicación GPS se eliminan automáticamente y los resultados etiquetan las acciones realizadas.
Desde el punto de vista de seguridad, implementa Helmet, validación por tipo y tamaño de archivo, y límites de tasa de solicitud (600 peticiones cada 15 minutos por IP). Sin embargo, no incluye autenticación ni TLS nativo, por lo que debe exponerse detrás de un proxy inverso que gestione HTTPS. Los archivos temporales se limpian automáticamente tras una hora.
- Reducir tamaño de videos MP4 para adjuntar a correos electrónicos sin exceder límites.
- Convertir documentos Word, Excel o PowerPoint en PDF optimizados automáticamente.
- Fusionar múltiples archivos PDF o imágenes en un único documento ordenado por el usuario.
- Eliminar metadatos de geolocalización (GPS) de fotografías antes de compartirlas.
- Optimizar imágenes JPG, PNG y WebP para reducir el ancho de banda en sitios web.
- Procesamiento local: ningún archivo sale del servidor donde se ejecuta la aplicación.
- Etiquetado de resultados: los archivos descargados incluyen comentarios sobre las transformaciones aplicadas.
- Honestidad en compresión: si un archivo ya está optimizado, mantiene el original y no lo agranda.
- Gestión segura de recursos: límites de CPU y memoria definidos en Docker Compose para evitar saturación.
- API robusta: endpoints claros para operaciones de subida, compresión, conversión y fusión con manejo de errores explícito.
- Sin autenticación: cualquier usuario que acceda al puerto puede subir archivos y consumir recursos de codificación.
- Sin TLS nativo: el servicio no cifra el tráfico por defecto, requiriendo un proxy inverso externo para HTTPS.
- Archivos temporales legibles: los UUID de los archivos en proceso son predecibles si se adivinan.
- Dependencia de recursos pesados: requiere instalación de FFmpeg, Ghostscript y LibreOffice dentro del contenedor backend.
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.
Despliegue con Docker Compose (`docker compose up -d --build`). Usa el puerto 3051 para la app y 4001 para la API interna. Configura `.env` para `MAX_FILE_MB`, `PROCESS_TIMEOUT_MIN` y `BACKEND_CPU_SHARES`. El backend no tiene límite de CPU explícito para evitar degradación, pero se recomienda usar `restart: unless-stopped` y health checks. Limpia volúmenes con `docker compose down -v`.
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.




