We have tested several image servers, but eventually our 2 main contenders were :

  • Cantaloupe IIIF server, fairly new server (https://medusa-project.github.io/cantaloupe)
  • IIPimage server which is a long-standing image server that added IIIF support later on (https://iipimage.sourceforge.io/)

Our tests were mostly aimed to gauge performance, user-friendlyness and available features and we ended up choosing Cantaloupe IIIF server.

Cantaloupe is quite easy to setup and comes with a bunch of features out of the box, initially we did have some slow performance with tiles loading slowly, but this turned out to be due to the default configuration for processing TIFs, once the java2dprocessor was replaced with the jaiprocessor the server managed to serve tiles at incredible speed.

One of the other big features is the possibility to integrate built-in scripts into the functionality, called the “delegates.rb” script.

The first type of script we used straight away, was to disable a lookup for the images in a flat directory and change the method to a script that determines the location of a requested image in a more complex folder structure. When dealing with 1.000.000+ images, storing them all in 1 folder poses a problem for a lot of other tools/services due to the time needed to enumerate the amount of files in that folder each time.

The next script on our list will most likely be access control, which is also integrated into the same “delegates.rb” script.