Когда у тебя возникают проблемы, то ты всегда находишься в поисках удобных решении. Прекрасно, когда ты находишь удобное решение. Еще лучше, когда оно написано человеком или командой о которой ты слышал. Но лучше всего, когда эти решения хорошо завернуты в докер и имеют хорошее описание с примерами!

Если вам требуется такое решение для работы с изображениями, то встречайте "imgproxy" под авторством "DarthSim" из команды "злых марсиан".

Что-то вроде логотипа сервера в github

Если ранее в данном посте рассказывал о прекрасном сервере для реал-тайм решении "Centrifugo", то предназначение "imgproxy" не менее востребовано — взять на себя рутину с изображениями.

Все эти ресайзы, обрезки, ватермарки, хранение изображении занимают уйму кода (и не только) на бэкенде. Работа с библиотеками изображении эта та еще боль. Да еще и хранение различных размеров изображении это тот еще дебилизм.

"Imgproxy" же дает тебе возможность взять то, что тебе нужно из оригинального изображения не написав ни строки кода в бэке.

Хочешь обрезанное изображение? Бери. Хочешь из изображения взять только центр? Пожалуйста. Нужно вставить ватермарку? Без проблем. Просто дай URL и все что нужно ты получишь. Гениальное решение для бытовых проблем!

Генератор URL для сервера, куда тебе надо вставить лишь "ключ" и "соль" для работы.

Чтобы легче было понять и воспользоваться этим сервисом, Сергей написал прекрасный пост (где также есть ссылка на генератор URL).

Прочитал пост вскользь и уже через 10 минут подняв "docker" контейнер использовал в своих проектах. Если хотите еще быстрее, то просто создайте инстанс на "Heroku", предварительно сгенерировав "ключ" и "соль" командой:

xxd -g 2 -l 64 -p /dev/random | tr -d '\n'

Вся основная документация доступна в репозитарии: https://github.com/DarthSim/imgproxy

Если ищите примеры реализации URL на вашем языке, то сюда:

https://github.com/DarthSim/imgproxy/tree/master/examples