(short for Rails Image Server Service)
This is a proof-of-concept IIIF image server.
- Using Kakadu via Libvips for JP2 support.
- full
- square
- x,y,w,h
- pct:x,y,w,h
- max
- ^max
- w,
- ^w,
- ,h
- ^,h
- pct:n
- ^pct:n
- w,h
- ^w,h
- !w,h
- ^!w,h
- n
- !n
- color
- gray
- bitonal
- default
- jpg
- tif
- png
- gif
- jp2
- webp
- required info
- [?] sizes
- [?] tiles
- file based caching
- cache pruning (operation that keeps cache below a max size by deleting least recently used)
- CORS headers
Caveats:
- This works on an M1 Mac.
- This requires a Kakadu license and access to the SDK.
- Clone https://github.com/harvard-lts/kakadu-vips
- Copy
Dockerfile-kakadu-vips
to the clone repository, renaming toDockerfile
. - Unzip the Kakadu SDK into the
kakadu
directory. - Build the image with
docker build . -t sul-dlss/kakadu-vips:latest
. You may need to provide additional build arguments for your architecture and Kakadu version. See the dockerfile.
docker run --rm -v $(pwd):/rizz -p 3000:3000 -it $(docker build -q .)
The application will now be running on http://localhost:3000
.
Example: http://localhost:3000/image-server/0380_796-44.jp2/full/max/0/default
Image files can be placed in the images
directory. They can be referenced by using their filename as the identifier.
For example, http://localhost:3000/image-server/0380_796-44.jp2/full/max/0/default
serves images/0380_796-44.jp2
.