Skip to content

avito-tech/gravure

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Gravure - an image resizing microservice

Description

Our previous solution of storing images of different sizes was unscalable and split over multiple language and server configurations. To resolve this situation we wrote a microservice that is able to receive an image, apply specified conversions (like resize, crop, watermark, add/remove meta, etc) and upload it back to configured location.

One of the main goals was to make it convenient to change image conversion profiles.

Such service was written in Rust at one of the internal hackatons at Avito.

Setup

  1. You will need rust building environment. It'is usually set up from your package manager or via Rustup
  2. After you've got Rust, just run cargo build --release and your binary is ready at target/release directory.

Contributing

You can help the project by:

  • create PRs that solve issues or add new features
  • use the service at your site and create new issues if you happen to find any

Notes

If you have trouble with openssl on MacOS, do the following (you'll need brew):

brew install openssl
export OPENSSL_INCLUDE_DIR=`brew --prefix openssl`/include
export OPENSSL_LIB_DIR=`brew --prefix openssl`/lib
cargo clean
cargo build

About

Image processing microservice

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages