Skip to content

Born-Digital-US/isle-imageservices

This branch is 1 commit behind Islandora-Collaboration-Group/isle-imageservices:main.

Repository files navigation

ISLE Image Services

Part of the ISLE Islandora 7.x Docker Images

Running Cantaloupe as a IIIF compliant image server for ISLE.

Based on:

Contains and Includes:

  • ImageMagick 7.x
    • Features: Cipher DPC HDRI OpenMP
    • Delegates (built-in): bzlib djvu mpeg fontconfig freetype jbig jng jpeg lcms lqr lzma openexr openjp2 png ps raw rsvg tiff webp wmf x zlib
  • OpenJPEG
  • FFmepg

Usage


(Manual - Docker image build process for Kakadu)

  • Please note: As of ISLE release 1.5.1, the demo Kakadu binaries, libraries and paths are no longer used in the compiling of the isle-imageservices Docker image. If you require them, you will need to do the following:

Dockerfile

  • Within the Dockerfile: comment out the following lines, e.g. add a # in front of those lines and save the file.
JAVA_OPTS='-Djava.awt.headless=true -server -Xmx${JAVA_MAX_MEM} -Xms${JAVA_MIN_MEM} -XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=70 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true' \
CATALINA_OPTS="-Dcantaloupe.config=/usr/local/cantaloupe/cantaloupe.properties \
-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true \
-Djava.library.path=/usr/local/lib:/usr/local/tomcat/lib \
-DLD_LIBRARY_PATH=/usr/local/lib:/usr/local/tomcat/lib"
  • Within the Dockerfile: uncomment the following lines and save the file.
#KAKADU_HOME=/usr/local/cantaloupe/deps/Linux-x86-64/bin \
#KAKADU_LIBRARY_PATH=/usr/local/cantaloupe/deps/Linux-x86-64/lib \
#JAVA_OPTS='-Djava.awt.headless=true -server -Xmx${JAVA_MAX_MEM} -Xms${JAVA_MIN_MEM} -XX:+UseG1GC -XX:+UseStringDeduplication -XX:MaxGCPauseMillis=200 -XX:InitiatingHeapOccupancyPercent=70 -Djava.net.preferIPv4Stack=true -Djava.net.preferIPv4Addresses=true' \
#CATALINA_OPTS="-Dcantaloupe.config=/usr/local/cantaloupe/cantaloupe.properties \
#-Dorg.apache.tomcat.util.buf.UDecoder.ALLOW_ENCODED_SLASH=true \
#-Dkakadu.home=/usr/local/cantaloupe/deps/Linux-x86-64/bin \
#-Djava.library.path=/usr/local/cantaloupe/deps/Linux-x86-64/lib:/usr/local/tomcat/lib \
#-DLD_LIBRARY_PATH=/usr/local/cantaloupe/deps/Linux-x86-64/lib:/usr/local/tomcat/lib"
  • Within the Dockerfile, uncomment the following lines and save the file.
# chmod 755 /usr/local/cantaloupe/deps/Linux-x86-64/bin/kdu_expand && \
# ln -s /usr/local/cantaloupe/deps/Linux-x86-64/bin/kdu_expand /usr/local/bin/kdu_expand && \
# ln -s /usr/local/cantaloupe/deps/Linux-x86-64/lib/libkdu_a7AR.so /usr/local/lib/libkdu_a7AR.so && \
# ln -s /usr/local/cantaloupe/deps/Linux-x86-64/lib/libkdu_jni.so /usr/local/lib/libkdu_jni.so && \
# ln -s /usr/local/cantaloupe/deps/Linux-x86-64/lib/libkdu_v7AR.so /usr/local/lib/libkdu_v7AR.so && \

Changes to files within the rootfs directory

  • Within the following two files, edit the following:

    • rootfs/usr/local/cantaloupe/cantaloupe.properties
    • rootfs/etc/confd/templates/imageserv/cantaloupe.properties.tpl
      • Find this line KakaduDemoProcessor.path_to_binaries =
      • add the path to the KaduDemoProcessor or paid Kakadu Processor binaries.
      • save the file.
  • Within rootfs/fix-attrs.d/11-cantaloupe, edi the following:

    • Uncomment the following # /usr/local/cantaloupe/deps/Linux-x86-64/bin/kdu_expand true tomcat 0755
    • save the file
  • Once finished, check in your changes into a new git repository.

Manual build process

  • Open a terminal and either clone down this new git repository to your local laptop or cd to the project on your laptop

  • Build the image

    • docker build -t yourdockerimagerepohere/isle-imageservices:1.x.x .
  • Push the image to your docker image repo

    • docker push yourdockerimagerepohere/isle-imageservices:1.x.x
  • Use the newly built image in ISLE

    • Within all of the docker-compose.*.yml files in your ISLE project, change image: islandoracollabgroup/isle-imageservices:1.x.x to image: yourdockerimagerepohere/isle-imageservices:1.x.x
    • Save all of the files after editing and check the changes into git.

About

ImageServices: an Adore-djatoka and Cantaloupe IIIF image server for ISLE with JP2000 support

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Smarty 62.9%
  • Ruby 22.2%
  • Dockerfile 13.0%
  • Other 1.9%