Question

I'm looking for a (ideally self-hosted) service that lets me do something like

<img src="http://image-resizer.domain.com/resize-image/150/100/path/to/image.jpg" />

This service would:

  • download http://mydomain.com/path/to/image.jpg (if it hadn't before)
  • resize it to 150x100
  • strip / squash the thumbnail of metadata (and whatever else is good for thumbnails)
  • cache the thumbnail (to disk, or maybe to s3?)
  • serve it to the client
  • on subsequent requests for that URL, serve the same cached thumbnail

This would allow me

  • only have the original image on my site and outsource the thumbnail generation to another service
  • allow me to easily create new thumbnail sizes
  • should be efficient

Does something like that exist? Would prefer open source, and hopefully either in Ruby or Node.js.

Bonus points for working on a limited amount of diskspace (i.e. so it would only cache, say, 5GB of images).

Was it helpful?

Solution

I found Dragonfly: https://github.com/markevans/dragonfly

"An on-the-fly processing/encoding framework written as a Rack application."

It's close to what I was looking for, but I'd prefer something totally separate. Dragonfly looks like it needs to be embedded in your Rails application as a Rack app. (Not an option for me, since I'm still on Rails 2.2)

OTHER TIPS

There are a number of SaaS solutions out there:

www.cloudinary.com <-- This is one of the best ones, I've used it extensively!

www.transloadit.com

www.blitline.com

Image Science may fulfill your thumbnailing needs, although the whole caching, hosting and metadata stripping will require other tools.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top