UStackUStack
imgproxy icon

imgproxy

imgproxy — self-hosted сервер обработки изображений для масштабирования, конвертации и оптимизации удалённых изображений по URL.

imgproxy

Что такое imgproxy?

imgproxy — это автономный сервер для обработки изображений на лету. Он масштабирует, обрезает, поворачивает, накладывает водяные знаки, фильтрует и конвертирует удалённые изображения, применяя параметры обработки прямо в URL изображения, поэтому приложениям не нужно заранее генерировать каждый вариант изображения.

Он рассчитан на запуск в вашей собственной инфраструктуре и работу с вашим собственным хранилищем изображений. Продукт доступен как open-source core-проект, а версия Pro добавляет расширенные функции, такие как дополнительные параметры обработки, генерация превью для видео, PDF и документов Photoshop, а также другие улучшения.

Ключевые возможности

  • Масштабирование и конвертация изображений на лету — выдавайте точный вариант изображения по запросу вместо хранения множества заранее подготовленных файлов.
  • Параметры обработки в URL — задавайте преобразования и формат вывода прямо в URL изображения, что хорошо подходит для доставки изображений через CDN и приложения.
  • Самостоятельное размещение — запускайте imgproxy на своём сервере или в своей инфраструктуре, а не отправляйте изображения во внешнюю SaaS-службу.
  • Средства защиты запросов к изображениям — включает защиту от image bombs, подпись URL для предотвращения несанкционированных преобразований и авторизацию через HTTP-заголовок для защиты путей доставки через кэш.
  • Широкая поддержка обработки изображений — включает масштабирование, обрезку, поворот, водяные знаки, фильтры, удаление цветовых профилей, удаление метаданных, квантование PNG и smart cropping в open-source-редакции.
  • Разделение функций между open-core и Pro — open-source-версия доступна на GitHub, а Pro добавляет продвинутое сжатие, динамические водяные знаки, превью видео, обнаружение объектов, расширенный smart cropping и другие премиум-функции.

Как использовать imgproxy

Обычно настройка начинается с установки imgproxy как Docker-образа или Linux-пакета на вашем компьютере или в хостинг-среде. Затем вы загружаете изображения в хранилище или указываете на них, настраиваете сервер по необходимости и запрашиваете обработанные изображения, добавляя параметры преобразования в URL.

На практике приложение или frontend формирует URL изображений с нужными настройками размера, формата и преобразований, а imgproxy возвращает обработанный результат по запросу.

Сценарии использования

  • Адаптивная доставка изображений для веб-приложений — генерируйте разные размеры и форматы изображений по запросу для интерфейсов, которым нужно несколько вариантов.
  • Обработка изображений во внутренней инфраструктуре — держите работу с изображениями в своей среде, если не хотите отправлять ассеты во внешнюю службу.
  • Контроль затрат при больших объёмах обработки изображений — замените managed image SaaS собственным сервером, чтобы сохранять контроль над обработкой и масштабированием.
  • Обработка изображений с требованиями к безопасности — используйте подписанные URL и авторизацию запросов, чтобы снизить злоупотребления и несанкционированные запросы на преобразование.
  • Продвинутые медиапроцессы — используйте функции Pro для задач вроде превью видео, предпросмотра PDF или документов Photoshop, продвинутого сжатия и динамических водяных знаков.

FAQ

imgproxy self-hosted? Да. В источнике imgproxy описан как self-hosted сервер обработки изображений, который работает в вашей собственной инфраструктуре.

Нужно ли заранее генерировать варианты изображений? Нет. imgproxy предназначен для обработки и конвертации изображений на лету на основе параметров в URL.

Есть ли open-source-версия? Да. Продукт имеет open-core-модель: open-source-версия опубликована на GitHub, а также есть закрытая версия Pro.

Какие форматы и преобразования поддерживаются? В источнике упоминаются распространённые форматы, такие как JPEG, PNG, GIF, WebP, AVIF и JPEG XL, а также масштабирование, обрезка, поворот, водяные знаки, фильтры и несколько функций оптимизации.

Как разворачивается imgproxy? Он распространяется как Docker-образы и Linux-пакеты и рассчитан на работу практически на любом хостинге или на локальном компьютере.

Альтернативы

  • Другие self-hosted image processors — Похожие инструменты, которые сосредоточены на выполнении преобразований изображений внутри вашей собственной инфраструктуры, часто с другими моделями настройки или наборами функций.
  • Управляемые сервисы преобразования изображений — SaaS-платформы, которые берут на себя масштабирование и конвертацию, обычно с меньшим операционным контролем, чем у self-hosted-сервера.
  • Функции CDN для изменения размера изображений — Обработка изображений на edge, предлагаемая некоторыми сетями доставки, которая может упростить развертывание, но не всегда даёт ту же глубину обработки или контроль над развертыванием.
  • Пользовательские конвейеры обработки изображений внутри приложения — Библиотеки или сервисы, встроенные прямо в стек приложения; они могут подойти для меньших нагрузок, но требуют больше поддержки на стороне приложения.
imgproxy | UStack