Cantaloupe
High-performance dynamic image server in Java


Cantaloupe is an open-source dynamic image server for on-demand generation of derivatives of high-resolution source images. With available operations including cropping, scaling, and rotation, it can support deep-zooming image viewers, as well as on-the-fly thumbnail generation. Compliance with the IIIF Image API enables it to work with a growing number of client applications.

Andromeda Galaxy in OpenSeadragon, powered by Cantaloupe
Multi-Resolution Tiled BigTIFF
6.2 GB | 69536×22230 (1.5 gigapixel)
ESA/Hubble

Easy

  • Get started in minutes. A web server is built right in, or deploy to a container, if you want.
  • One human-friendly configuration file with extensive inline help.

Standards-Compliant

  • Fully conformant to all IIIF Image API versions through 2.1.1.

Secure

  • Dynamic, selective image and text watermarking with fine-grained controls.
  • On-the-fly redaction of image regions.
  • Built-in support for HTTPS and HTTP Basic authentication.
  • Supports arbitrary authorization policies for integration into diverse infrastructures.

Flexible

  • Drive deep-zooming image viewers and create thumbnails for images, PDFs, and videos on-the-fly.
  • Serve images from multiple sources, with different settings, via the same application instance.
  • HTTP methods for common management functions like purging the cache and updating the configuration.

High-Quality

  • Selectable resample filters, sharpening levels, and compression levels to optimize output for speed or quality.

Modular

  • Pluggable sources for retrieving images from a variety of places—including filesystems, databases, remote web servers, and cloud storage—with optional scriptable "hooks" to enable dynamic source selection and image lookup.
  • Pluggable processors to support a variety of source image formats—as well as still-frame extraction from videos in a variety of formats.
  • Pluggable caches with customizable strategies and available automatic maintenance.

Fast

  • Optimized JPEG2000 and TIFF readers capable of excellent performance with massive images.
  • Available filesystem, database, Redis, in-memory, and cloud storage caches to speed up response times and reduce server load.
  • In-memory image metadata and delegate result caches to boost performance for frequently-accessed resources.

Get Started

Download

Upgrading? Review the upgrade guide and change log for important info.

Download

Requires Java 8+

Optional components, such as particular processors, may have additional requirements; see the user manual

Configure
  1. The distribution archive bundles a sample configuration file, named cantaloupe.properties.sample. Make a copy and open it in a text editor.
  2. Set FilesystemSource.BasicLookupStrategy.path_prefix to a folder path containing some images.
Run

From a command prompt:

java -Dcantaloupe.config=/path/to/cantaloupe.properties -Xmx2g -jar cantaloupe-x.x.x.war

From a command prompt:

java -Dcantaloupe.config=C:\path\to\cantaloupe.properties -Xmx2g -jar cantaloupe-x.x.x.war

Now, assuming you have an image named image.tif, try accessing:

Get Help

For questions, bug reports, and other issues, please file a GitHub issue. Feature requests and any other feedback are also welcome.

If you'd rather not use GitHub, you may also contact the maintainer directly.