All Projects → appunite → Imager

appunite / Imager

Licence: mit
Image processing proxy

Programming Languages

elixir
2628 projects

Projects that are alternatives of or similar to Imager

Ergo
The management of multiple apps running over different ports made easy
Stars: ✭ 452 (+707.14%)
Mutual labels:  proxy, proxy-server
Noginx
High performance HTTP and reverse proxy server based on Node.js. 基于 Node.js 的高性能 HTTP 及反向代理服务器,类似nginx。
Stars: ✭ 53 (-5.36%)
Mutual labels:  proxy, proxy-server
Weaver
An Advanced HTTP Reverse Proxy with Dynamic Sharding Strategies
Stars: ✭ 510 (+810.71%)
Mutual labels:  proxy, proxy-server
Awesome Web Scraping
List of libraries, tools and APIs for web scraping and data processing.
Stars: ✭ 4,510 (+7953.57%)
Mutual labels:  proxy, proxy-server
Flyimg
Dockerized PHP7 application runs as a Microservice to resize and crop images on the fly. Get optimised images with MozJPEG, WebP or PNG using ImageMagick. Includes face detection, cropping, face blurring, image rotation and many other options. Abstract storage based on FlySystem in order to store images on any provider (local, AWS S3...).
Stars: ✭ 762 (+1260.71%)
Mutual labels:  image-processing, imagemagick
Govips
A lightning fast image processing and resizing library for Go
Stars: ✭ 442 (+689.29%)
Mutual labels:  image-processing, imagemagick
Php Proxy App
Web Proxy Application built on php-proxy library ready to be installed on your server
Stars: ✭ 583 (+941.07%)
Mutual labels:  proxy, proxy-server
Skeptick
Better ImageMagick for Ruby
Stars: ✭ 326 (+482.14%)
Mutual labels:  image-processing, imagemagick
Image processing
High-level image processing wrapper for libvips and ImageMagick/GraphicsMagick
Stars: ✭ 600 (+971.43%)
Mutual labels:  image-processing, imagemagick
Libvips
A fast image processing library with low memory needs.
Stars: ✭ 6,094 (+10782.14%)
Mutual labels:  image-processing, imagemagick
Magick
Magic, madness, heaven, sin
Stars: ✭ 362 (+546.43%)
Mutual labels:  image-processing, imagemagick
Citadelcore
Cross platform filtering HTTP/S proxy based on .NET Standard 2.0.
Stars: ✭ 28 (-50%)
Mutual labels:  proxy, proxy-server
Proxy requests
a class that uses scraped proxies to make http GET/POST requests (Python requests)
Stars: ✭ 357 (+537.5%)
Mutual labels:  proxy, proxy-server
Wasm Imagemagick
Webassembly compilation of https://github.com/ImageMagick/ImageMagick & samples
Stars: ✭ 442 (+689.29%)
Mutual labels:  image-processing, imagemagick
Athens
A Go module datastore and proxy
Stars: ✭ 3,736 (+6571.43%)
Mutual labels:  proxy, proxy-server
Awslambdaproxy
An AWS Lambda powered HTTP/SOCKS web proxy
Stars: ✭ 571 (+919.64%)
Mutual labels:  proxy, proxy-server
Jekyll Gallery Generator
A Jekyll plugin that generates photo galleries from directories full of images.
Stars: ✭ 315 (+462.5%)
Mutual labels:  image-processing, imagemagick
Free Proxy List
🔥Free proxy servers list / Updated hourly!
Stars: ✭ 326 (+482.14%)
Mutual labels:  proxy, proxy-server
Engintron
Engintron for cPanel/WHM is the easiest way to integrate Nginx on your cPanel/WHM server. Engintron will improve the performance & web serving capacity of your server, while reducing CPU/RAM load at the same time, by installing & configuring the popular Nginx webserver to act as a reverse caching proxy in front of Apache.
Stars: ✭ 587 (+948.21%)
Mutual labels:  proxy, proxy-server
Sv Images
Image manipulation library with an HTTP based API.
Stars: ✭ 7 (-87.5%)
Mutual labels:  image-processing, imagemagick

Imager

CircleCI Coverage Status

Image processing proxy server written in Elixir.

Why?

We needed to generate thumbnails for various files in one of our client's product. We have tried to use SNS channel to produce them for new images only however this approach has few disadvantages:

  • you need to specify all needed image sizes upfront, so any change in needed sizes requires redeployment of UI and image processing service
  • configuration of given application is quite complicated as it requires several manual steps; this is especially troublesome in our situation as our application need simple way to deploy by unskilled sysop on-premise

With given requirements we could use one of existing on-demand image processing services like:

  • Thumbor, quite popular service written in Python which uses OpenCV bindings to process images
  • Imaginary, written in Go wrapper over libvips library
  • Imageflow, written in Rust, AGPL reimplementation of ImageResizer

However we also needed support for PDFs and DICOM images which is available only in Imaginary. However the API of the Imaginary do not provide enough flexibility, Imageflow/ImageResizer-like API is much easier to integrate with UI. Imageflow would be a perfect solution (even despite AGPL license), however lack of PDF and DICOM support made it completely infeasible in our situation.

Production ready?

No. We use it in our production release, but it is still prone to rapid changes in the API. Current API is direct mapping to ImageMagick options, however in future releases we probably provide higher level API more similar to Imageflow which would allow us to provide support for different processing libraries, not only ImageMagick.

Installation

Docker

Currently the only officially supported installation way is via official Docker image that can be found on Docker Hub.

  1. First we need to generate configuration file for Imager
$ docker run --rm appunite/imager:latest config > config.toml
  1. Edit config.toml. Documentation is available within the file itself.
  2. Run container providing configuration.
$ docker run --rm -v './config.toml:/etc/imager/config.toml:ro' -p 8080:80 appunite/imager:latest

Usage

Assuming that you have store named local and there is file named lenna.png you can access this file directly via on http://localhost:8080/local/lenna.png, to generate thumbnail of size 50x50 pixels you can then use http://localhost:8080/local/lenna.png?thumbnail=50x50.

Currently available options are:

  • thumbnail=<size>
  • strip
  • gravity=<gravity>
  • extent=<size>
  • flatten
  • background=<colour>
  • format=<format>

Which maps 1:1 to their respective ImageMagick flags.

License

See LICENSE file.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].