Introducing SIPI-2 1.0.0 — a new IIIF image server with S3 support and Lua authorization

From: Lukas Rosenthaler <lukas.rosenthaler_at_nyob>
Date: Wed, 14 Oct 2026 08:31:20 -0400
To: CODE4LIB_at_LISTS.CLIR.ORG
Dear IIIF community,

I’m pleased to share the first public release of SIPI-2, a new open-source IIIF Image API 3 server written in C++20.
Some of you may know the original SIPI, whose first versions I developed in 2016. SIPI is now maintained by the Swiss National Data and Service Center for the Humanities (DaSCH), which I also founded. Although I have not been affiliated with DaSCH for several years, I’m glad to see its continued stewardship of SIPI.

SIPI-2 is a complete new implementation. It carries forward some of SIPI’s essential ideas, particularly Lua preflight scripts and ICC-based colour management, with a simplified approach to the latter. It is an independent project and does not imply a change in the direction or maintenance of the original SIPI.

My aim was to revisit the design with modern C++, reduce dependency and implementation complexity, and pay particular attention to efficient image delivery.

Key features include:

- IIIF Image API 3, supporting the documented Level 2 image operations.
- Local and S3-compatible storage, with version-aware range reads for S3 sources.
- TIFF, JPEG 2000, HTJ2K, JPEG and PNG input, and JPEG, PNG and WebP output, within the documented format constraints.
- JPEG 2000 and HTJ2K decoding through Grok, without a dependency on Kakadu.
- Lua preflight policies for authorization and source mapping, with HTTP and JWT helpers. Authorization is evaluated on cache hits as well.
- Colour management, watermarks and restricted-resolution delivery, configurable image workers and bounded caches.
- Docker images for Linux AMD64 and ARM64, alongside native build instructions and documentation.

The software is released under AGPL-3.0-only. The release also includes a source package containing the dependency sources, recipes and patches.

SIPI-2 has been serving images for fasnacht.digital since 11 October 2026. This is an initial production deployment, and I would welcome experience from other collections, infrastructure setups and access-control requirements.
My hope is to develop SIPI-2 with others in the community. Feedback, bug reports, deployment experiences and contributions are very welcome — particularly from people interested in image processing, IIIF infrastructure, S3 storage or Lua-based authorization.

- Source and documentation: https://github.com/OMAS-IIIF/sipi-2
- Release 1.0.0: https://github.com/OMAS-IIIF/sipi-2/releases/tag/v1.0.0
- Docker images: https://hub.docker.com/r/lrosenth/sipi-2

If you try it, I’d be very interested to hear how it works for your use case.

Best wishes,
Lukas Rosenthaler
Received on Wed Oct 14 2026 - 08:30:55 EDT