Giter Site home page Giter Site logo

noahwsmith / isle-imageservices Goto Github PK

View Code? Open in Web Editor NEW

This project forked from islandora-collaboration-group/isle-imageservices

0.0 1.0 0.0 113 KB

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

Home Page: https://hub.docker.com/r/islandoracollabgroup/isle-imageservices/

License: GNU General Public License v3.0

Dockerfile 14.24% Shell 0.96% Ruby 22.12% Makefile 0.91% Smarty 61.76%

isle-imageservices's Introduction

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.

isle-imageservices's People

Contributors

bseeger avatar noahwsmith avatar g7morris avatar exsilica avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.