@@ -24,42 +24,42 @@ ENV NODE_ENV=production
2424
2525USER root
2626
27+ ADD https://downloads.apache.org/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz \
28+ https://github.com/Saxonica/Saxon-HE/releases/download/${SAXON_VERSION}/${SAXON_VERSION}J.zip \
29+ https://www.oxygenxml.com/maven/com/oxygenxml/oxygen-patched-xerces/${XERCES_VERSION}/oxygen-patched-xerces-${XERCES_VERSION}.jar \
30+ /tmp/
31+
32+ COPY ["index.js" , "package.json" , "package-lock.json*" , "/opt/docker-mei/" ]
33+
2734# Configure the Eclipse Adoptium apt repository
28- RUN apt-get update && \
29- apt-get install -y wget apt-transport-https && \
35+ RUN apt-get update && apt-get full-upgrade -y && \
36+ apt-get install -y --no-install-recommends wget apt-transport-https curl ca-certificates && \
3037 mkdir -p /etc/apt/keyrings && \
3138 wget -O - https://packages.adoptium.net/artifactory/api/gpg/key/public | tee /etc/apt/keyrings/adoptium.asc && \
32- echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list
33- # install packages
34- RUN apt-get update && apt-get install -y --no-install-recommends apt-utils python3-pip temurin-${JAVA_VERSION}-jdk curl unzip git libc6 aptitude libaom-dev gdebi fonts-stix && \
35- # install prince
36- curl --proto '=https' --tlsv1.2 -O https://www.princexml.com/download/${DEB_FILE} && \
37- gdebi --non-interactive ./${DEB_FILE} && \
39+ echo "deb [signed-by=/etc/apt/keyrings/adoptium.asc] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" | tee /etc/apt/sources.list.d/adoptium.list && \
3840 # install nodejs
3941 curl -fsSL https://deb.nodesource.com/setup_18.x -o nodesource_setup.sh && \
4042 bash nodesource_setup.sh && \
41- apt install nodejs && \
43+ # install prince
44+ curl --proto '=https' --tlsv1.2 -LO https://www.princexml.com/download/${DEB_FILE} && \
45+ apt-get install -y --no-install-recommends apt-utils python3-pip temurin-${JAVA_VERSION}-jdk nodejs unzip git libc6 aptitude libaom-dev fonts-stix ./${DEB_FILE} && \
4246 # link ca-certificates
43- ln -sf /etc/ssl/certs/ca-certificates.crt /usr/lib/prince/etc/curl-ca-bundle.crt
44-
45- # setup ant
46- ADD https://downloads.apache.org/ant/binaries/apache-ant-${ANT_VERSION}-bin.tar.gz /tmp/ant.tar.gz
47- RUN tar -xvf /tmp/ant.tar.gz -C /opt
48-
49- # setup saxon
50- ADD https://github.com/Saxonica/Saxon-HE/releases/download/${SAXON_VERSION}/${SAXON_VERSION}J.zip /tmp/saxon.zip
51- RUN unzip /tmp/saxon.zip -d ${ANT_HOME}/lib
52-
53- # setup xerces
54- ADD https://www.oxygenxml.com/maven/com/oxygenxml/oxygen-patched-xerces/${XERCES_VERSION}/oxygen-patched-xerces-${XERCES_VERSION}.jar ${ANT_HOME}/lib
55-
56- # cleanup
57- RUN apt-get purge -y aptitude apt-utils gdebi curl unzip wget apt-transport-https && \
47+ ln -sf /etc/ssl/certs/ca-certificates.crt /usr/lib/prince/etc/curl-ca-bundle.crt && \
48+ # setup ant
49+ tar -xvf /tmp/apache-ant-${ANT_VERSION}-bin.tar.gz -C /opt && \
50+ # setup saxon
51+ unzip /tmp/${SAXON_VERSION}J.zip -d ${ANT_HOME}/lib && \
52+ # setup xerces
53+ cp /tmp/oxygen-patched-xerces-${XERCES_VERSION}.jar ${ANT_HOME}/lib && \
54+ # cleanup
55+ apt-get purge -y aptitude apt-utils && \
5856 apt-get autoremove -y && apt-get clean && \
57+ apt-get clean && \
5958 rm ${DEB_FILE} nodesource_setup.sh && \
60- rm -rf /tmp/*
59+ cd /opt/docker-mei && \
60+ # setup node app for rendering MEI files to SVG using Verovio Toolkit
61+ npm install --omit=dev && \
62+ # clean temporary folders
63+ rm -rfv /tmp/* /root/.npm*
6164
62- # setup node app for rendering MEI files to SVG using Verovio Toolkit
6365WORKDIR /opt/docker-mei
64- COPY ["index.js" , "package.json" , "package-lock.json*" , "./" ]
65- RUN npm install --production
0 commit comments