mirror of
https://github.com/Alfresco/alfresco-community-repo.git
synced 2025-08-14 17:58:59 +00:00
The workflow diagrams could not be generated because sun.font package classes require system fonts to be installed. The current docker image requires additional package (fontconfig) to be added. It's version and the versions of the dependencies were pinned.
123 lines
6.7 KiB
Docker
123 lines
6.7 KiB
Docker
# Fetch image based on Tomcat 8.5.34 and Java 11
|
|
# More infos about this image: https://github.com/Alfresco/alfresco-docker-base-tomcat
|
|
FROM alfresco/alfresco-base-tomcat:8.5.34-java-11-openjdk-centos-7
|
|
|
|
# Base ACS Repository Image includes transformation commands:
|
|
# /usr/bin/alfresco-pdf-renderer - alfresco-pdf-renderer
|
|
# /usr/bin/convert - imagemagick
|
|
# /opt/libreoffice5.4/program/soffice - LibreOffice
|
|
|
|
# alfresco-pdf-renderer uses the PDFium library from Google Inc. See the license at https://pdfium.googlesource.com/pdfium/+/master/LICENSE or in /pdfium.txt
|
|
# ImageMagick is from ImageMagick Studio LLC. See the license at http://www.imagemagick.org/script/license.php or in /ImageMagick-license.txt
|
|
# LibreOffice is from The Document Foundation. See the license at https://www.libreoffice.org/download/license/ or in /libreoffice.txt
|
|
|
|
ENV ALFRESCO_PDF_RENDERER_LIB_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repositories/releases/content/org/alfresco/alfresco-pdf-renderer/1.1/alfresco-pdf-renderer-1.1-linux.tgz
|
|
ENV PDFIUM_LICENSE_FILE=https://github.com/Alfresco/acs-community-packaging/blob/master/distribution/src/main/resources/licenses/3rd-party/pdfium.txt
|
|
|
|
ENV LIBREOFFICE_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repositories/thirdparty/content/org/libreoffice/libreoffice-dist/5.4.6/libreoffice-dist-5.4.6-linux.gz
|
|
ENV LIBREOFFICE_LICENSE_FILE=https://github.com/Alfresco/acs-community-packaging/blob/master/distribution/src/main/resources/licenses/3rd-party/libreoffice.txt
|
|
|
|
ENV IMAGEMAGICK_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repositories/thirdparty/content/org/imagemagick/imagemagick-distribution/7.0.7-27/imagemagick-distribution-7.0.7-27-linux.rpm
|
|
ENV IMAGEMAGICK_LIB_RPM_URL=https://nexus.alfresco.com/nexus/service/local/repositories/thirdparty/content/org/imagemagick/imagemagick-distribution/7.0.7-27/imagemagick-distribution-7.0.7-27-libs-linux.rpm
|
|
ENV IMAGEMAGICK_LICENSE_FILE=https://github.com/Alfresco/acs-community-packaging/blob/master/distribution/src/main/resources/licenses/3rd-party/ImageMagick-license.txt
|
|
|
|
# Install transformer binaries
|
|
RUN yum install wget -y && \
|
|
\
|
|
wget $ALFRESCO_PDF_RENDERER_LIB_RPM_URL && \
|
|
wget -P /. $PDFIUM_LICENSE_FILE && \
|
|
tar xf alfresco-pdf-renderer-*-linux.tgz -C /usr/bin && \
|
|
rm -f alfresco-pdf-renderer-*-linux.tgz && \
|
|
\
|
|
yum install -y cairo cups-libs libSM && \
|
|
wget $LIBREOFFICE_RPM_URL && \
|
|
wget -P /. $LIBREOFFICE_LICENSE_FILE && \
|
|
tar xzf libreoffice-dist-*-linux.gz && \
|
|
yum localinstall -y LibreOffice*/RPMS/*.rpm && \
|
|
rm -rf libreoffice-dist-*-linux.gz LibreOffice_*_Linux_x86-64_rpm && \
|
|
\
|
|
wget $IMAGEMAGICK_RPM_URL && \
|
|
wget $IMAGEMAGICK_LIB_RPM_URL && \
|
|
wget -P /. $IMAGEMAGICK_LICENSE_FILE && \
|
|
yum localinstall -y imagemagick-distribution-*-linux.rpm && \
|
|
rm -f imagemagick-distribution-*-linux.rpm && \
|
|
\
|
|
yum clean all &&\
|
|
\
|
|
yum remove wget -y
|
|
|
|
# Create prerequisite to store tools and properties
|
|
RUN mkdir -p /usr/local/tomcat/shared/classes/alfresco/extension && \
|
|
mkdir /usr/local/tomcat/alfresco-mmt
|
|
RUN touch /usr/local/tomcat/shared/classes/alfresco-global.properties
|
|
|
|
# You need to run `mvn clean install` in the root of this project to update the following dependencies
|
|
# Copy the WAR files to the appropriate location for your application server
|
|
# Copy the JDBC drivers for the database you are using to the lib/ directory.
|
|
# Copy the alfresco-mmt.jar
|
|
COPY target/war /usr/local/tomcat/webapps
|
|
COPY target/connector/* /usr/local/tomcat/lib/
|
|
COPY target/alfresco-mmt/* /usr/local/tomcat/alfresco-mmt/
|
|
RUN rm -rf /usr/local/tomcat/webapps/ROOT
|
|
COPY target/server-root/* /usr/local/tomcat/webapps
|
|
COPY target/wti-bin/* /usr/local/tomcat/webapps
|
|
|
|
# Change the value of the shared.loader= property to the following:
|
|
# shared.loader=${catalina.base}/shared/classes
|
|
RUN sed -i "s/shared.loader=/shared.loader=\${catalina.base}\/shared\/classes/" /usr/local/tomcat/conf/catalina.properties
|
|
|
|
# Add here configurations for alfresco-global.properties
|
|
RUN echo -e '\n\
|
|
alfresco-pdf-renderer.root=/usr/bin/\n\
|
|
alfresco-pdf-renderer.exe=${alfresco-pdf-renderer.root}/alfresco-pdf-renderer\n\
|
|
\n\
|
|
jodconverter.enabled=true\n\
|
|
jodconverter.portNumbers=8100\n\
|
|
jodconverter.officeHome=/opt/libreoffice5.4/\n\
|
|
\n\
|
|
img.root=/usr/lib64/ImageMagick-7.0.7\n\
|
|
img.coders=/usr/lib64/ImageMagick-7.0.7/modules-Q16HDRI/coders\n\
|
|
img.config=/usr/lib64/ImageMagick-7.0.7/config-Q16HDRI\n\
|
|
img.exe=/usr/bin/convert\n\
|
|
' >> /usr/local/tomcat/shared/classes/alfresco-global.properties
|
|
|
|
# Add debug for testing
|
|
# RUN echo -e '\n\
|
|
# log4j.logger.org.alfresco.repo.content.transform.TransformerDebug=debug\n\
|
|
# ' >> /usr/local/tomcat/shared/classes/alfresco/extension/custom-log4j.properties
|
|
|
|
RUN mkdir -p /usr/local/tomcat/amps
|
|
|
|
# Copy the amps from build context to the appropriate location for your application server
|
|
COPY target/amps /usr/local/tomcat/amps
|
|
|
|
# Install amps on alfresco.war
|
|
RUN java -jar /usr/local/tomcat/alfresco-mmt/alfresco-mmt*.jar install \
|
|
/usr/local/tomcat/amps /usr/local/tomcat/webapps/alfresco -directory -nobackup -force
|
|
|
|
# Docker CMD from parent image starts the server
|
|
|
|
# Unpack ROOT.war and make alfresco and ROOT read-only.
|
|
RUN mkdir /usr/local/tomcat/webapps/ROOT && cd /usr/local/tomcat/webapps/ROOT && jar -xvf /usr/local/tomcat/webapps/ROOT.war && rm -f /usr/local/tomcat/webapps/ROOT.war && chmod -R =r /usr/local/tomcat/webapps && \
|
|
# Add catalina.policy to ROOT.war and alfresco.war
|
|
# Grant all security permissions to alfresco webapp because of numerous permissions required in order to work properly.
|
|
# Grant only deployXmlPermission to ROOT webapp.
|
|
sed -i -e "\$a\grant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/alfresco\/-\" \{\n\ permission\ java.security.AllPermission\;\n\};\ngrant\ codeBase\ \"file:\$\{catalina.base\}\/webapps\/ROOT\/-\" \{\n\ permission org.apache.catalina.security.DeployXmlPermission \"ROOT\";\n\};" /usr/local/tomcat/conf/catalina.policy
|
|
|
|
# fontconfig is required by Activiti worflow diagram generator
|
|
# installing pinned dependencies as well
|
|
RUN yum install -y fontconfig-2.13.0-4.3.el7 \
|
|
dejavu-fonts-common-2.33-6.el7 \
|
|
fontpackages-filesystem-1.44-8.el7 \
|
|
freetype-2.8-12.el7 \
|
|
libpng-1.5.13-7.el7_2 \
|
|
dejavu-sans-fonts-2.33-6.el7 && \
|
|
yum clean all
|
|
|
|
# Unpack wti-bin.war
|
|
RUN mkdir /usr/local/tomcat/webapps/wti-bin && cd /usr/local/tomcat/webapps/wti-bin && jar -xvf /usr/local/tomcat/webapps/wti-bin.war && rm -f /usr/local/tomcat/webapps/wti-bin.war
|
|
|
|
# To remote debug into this image add: EXPOSE 8000
|
|
# Changes are also required to the docker-compose/docker-compose.yml file.
|
|
# EXPOSE 8000
|