Привет, друзья!
Есть ли какие-то решения для хранения больших изображений в Discourse? Имею в виду, есть ли возможность сжимать изображения при их загрузке пользователем, или, что менее предпочтительно, раз в несколько месяцев заменять изображения на SSD их уменьшенными версиями?
Мне кажется, что в долгосрочной перспективе хранить все большие изображения на SSD — не самое разумное решение.
Пока что (форум только создан) мне требуется дополнительно 1 ГБ места каждый месяц.
Спасибо.
Оптимальное решение здесь — не хранить загрузки на вашем сервере вообще.
Вы рассматривали возможность использования S3 или аналогичного сервиса? Вы можете использовать CDN в качестве фронтенда для S3, что позволит минимизировать затраты на передачу данных. Это значительно дешевле, чем локальный SSD.
Понятно… Спасибо, @Stephen, за ответ. Пока я использую Amazon Lightsail, это довольно недорого: в моём тарифе за 5 долларов есть 40 ГБ SSD. Хватит, вероятно, на первый год.
Тем не менее, я хочу найти решение на будущее, потому что с современными технологиями (как я делаю вручную на своём сайте) я могу сжимать изображения с 3 МБ до примерно 60 КБ (при этом также меняя разрешение). Если я буду делать то же самое в Discourse, моих 40 ГБ хватит навсегда! Но, думаю, автоматизировать этот процесс или даже делать это вручную не так просто ![]()
Да, есть несколько настроек сайта, которые контролируют максимальный размер изображения и качество конвертации — поищите.
У нас также есть rake-задача, которая проходит по всем изображениям и изменяет размер «слишком больших» файлов, загруженных до изменения этих настроек, но я не уверен, что она общедоступна, @cvx?
Здравствуйте,
Помимо настройки облачного хранилища (S3) и CDN для обслуживания изображений, у кого-нибудь есть опыт преобразования изображений (сжатых в прогрессивный JPEG) на лету до их сохранения в S3 или после?
Если у вас есть инстанс Discourse с большим количеством изображений, сервис http://webpagetest.org/ постоянно сообщает об отсутствии прогрессивных JPEG. Если пользователи загружают изображения в сообщениях, вручную конвертировать и сжимать их до или после публикации сложно.
Я нашёл несколько подходов к оптимизации изображений в бакетах AWS S3 с использованием бессерверных функций Lambda.
Платные решения:
Решения своими руками (DIY):
https://developer.happyr.com/aws-lambda-image-optimization-with-serverless
Буду рад узнать о вашем опыте!
Спасибо.