Reducir y convertir cargas de imagen

Hola a todos los Discoursians,

Hemos estado autoalojando durante unos años con nuestra propia instalación de Discourse y hemos acumulado alrededor de 30 GB de cargas de imágenes en S3. Durante ese tiempo, hemos cambiado de opinión sobre qué tipos de archivos de imagen permitir, además de qué tipo de tamaño de carga de imagen original admitir. También se han agregado nuevas funciones a Discourse en los últimos 6 años aproximadamente que no teníamos al principio, por lo que el problema son principalmente muchas de nuestras publicaciones antiguas. El nuevo redimensionamiento del compositor en el lado del navegador está ayudando mucho a nuestras necesidades de almacenamiento y está funcionando muy bien.

Mi idea es convertir y reducir el tamaño de todas nuestras cargas de imágenes existentes a JPG, para ahorrar costos de almacenamiento. Al buscar aquí, encontré esto:

https://github.com/discourse/discourse/blob/main/script/downsize_uploads.rb

…¿y pensé en adaptarlo? El problema es que esto funcionaría para reducir el tamaño :slight_smile: pero no para convertir formatos, es decir, reduciría el tamaño de imagen original de un PNG grande pero lo mantendría como PNG, en lugar de convertirlo a JPG con el nuevo tamaño.

Parece que tendría que escribir mi propia versión de esto:

…así que, antes de hacerlo, pensé en compartir lo que tenía la intención de hacer, y luego alguien podría decir ‘O podrías hacer esta cosa realmente simple sin escribir ese código…’ y hacerme feliz.

Agradezco cualquier idea, señal de alerta o comentario. Si tengo que hacer un nuevo script de rake, puedo compartirlo aquí si alguien más está en una configuración similar a la nuestra.

¡Gracias!

2 Me gusta

Este fue el punto clave, así que lo resalto si alguien tiene alguna idea. Todavía estamos buscando la mejor manera de hacer esto. Nuestro plan actual es que, dado que los costos de alojamiento de estas imágenes antiguas son tan altos, podríamos eliminar 5 años de publicaciones antiguas para reducir los costos, lo cual es una pena, pero es porque tenemos un presupuesto muy bajo. :slight_smile: