Compresor de imágenes

Hola amigos,
¿Hay alguna solución para almacenar imágenes grandes en Discourse? Me refiero a si existe alguna opción para minimizar las imágenes mientras el usuario las sube, o bien otra opción, menos preferible, que sería reemplazar cada pocos meses las imágenes en el SSD por versiones más pequeñas de las mismas.
Simplemente no creo que sea inteligente a largo plazo mantener todas las imágenes grandes en mi SSD.
Por ahora (acabo de crear mi foro) necesito 1 GB extra cada mes.
Gracias.

La solución óptima aquí es no almacenar las subidas en tu servidor en absoluto.

¿Has considerado usar S3 o algo similar? Puedes colocar un CDN delante de S3, lo que minimizará los costos de transferencia. Es mucho más barato que un SSD local.

Entiendo… Gracias @Stephen por tu respuesta. Por ahora estoy usando Amazon Lightsail, así que es bastante económico; tengo 40 GB de SSD con mi plan de 5 dólares. Probablemente sea suficiente para el primer año.

Aun así, quería buscar una solución a futuro, porque con la tecnología actual (como hago manualmente en mi sitio web) puedo reducir imágenes de 3 MB a unos 60 KB (también cambio la resolución). Si hiciera lo mismo con mi Discourse, ¡mis 40 GB durarían para siempre! Pero supongo que no es tan sencillo hacerlo de forma automática, o incluso manualmente :laughing:

Sí, hay varias configuraciones del sitio que controlan el tamaño máximo de las imágenes y la calidad de la conversión. Busca en la documentación.

También tenemos una tarea de rake que recorre y redimensiona las imágenes “demasiado grandes” que se subieron antes de que se cambiaran estas configuraciones del sitio, pero no estoy seguro de que sea pública, @cvx.

Hola,

Además de configurar el almacenamiento en la nube (S3) y la CDN para servir imágenes, ¿alguien tiene experiencia en transformar las imágenes (comprimidas a JPEG progresivo) al vuelo antes de almacenarlas en S3 o después de guardarlas en S3?

Si tienes una instancia de Discourse con muchas imágenes, http://webpagetest.org/ se queja repetidamente de que no se están utilizando los JPEG progresivos. Si los usuarios suben imágenes en las publicaciones, es difícil convertir/comprimir las imágenes manualmente antes o después de que se publiquen.

He encontrado algunas aproximaciones para la minimización de imágenes en buckets de AWS S3 utilizando funciones Lambda sin servidor.

Opciones de pago:

Opciones DIY (hazlo tú mismo):
https://developer.happyr.com/aws-lambda-image-optimization-with-serverless
https://github.com/sourcey/s3-image-optimizer

Me encantaría conocer sus experiencias.

Gracias.