Skip to content

Commit

Permalink
Merge pull request #54 from TIBCOSoftware/develop
Browse files Browse the repository at this point in the history
Merge changes from develop
  • Loading branch information
grantbacon-jaspersoft authored Nov 10, 2020
2 parents 6c53bad + 235a4c0 commit cb49f87
Show file tree
Hide file tree
Showing 34 changed files with 967 additions and 411 deletions.
29 changes: 22 additions & 7 deletions .env
Original file line number Diff line number Diff line change
Expand Up @@ -27,11 +27,24 @@ TOMCAT_BASE_IMAGE=tomcat:9.0.31-jdk11-openjdk
JASPERREPORTS_SERVER_VERSION=7.5.1
JASPERREPORTS_SERVER_IMAGE_TAG=7.5.1

# Amazon Corretto works
# 7.8.0 - Docker Hub. Debian based
JAVA_BASE_IMAGE=openjdk:11.0
TOMCAT_BASE_IMAGE=tomcat:9.0.37-jdk11-openjdk
JASPERREPORTS_SERVER_VERSION=7.8.0
JASPERREPORTS_SERVER_IMAGE_TAG=7.8.0

# Amazon Corretto 7.5.0
#JAVA_BASE_IMAGE=amazoncorretto:11
#TOMCAT_BASE_IMAGE=tomcat:9.0-jdk11-corretto
#JASPERREPORTS_SERVER_VERSION=7.5.0
#JASPERREPORTS_SERVER_IMAGE_TAG=7.5.0-correto11

# Amazon Corretto 7.8.0
#JAVA_BASE_IMAGE=amazoncorretto:11
#TOMCAT_BASE_IMAGE=tomcat:9.0-jdk11-corretto
#JASPERREPORTS_SERVER_VERSION=7.8.0
#JASPERREPORTS_SERVER_IMAGE_TAG=7.8.0-corretto11

#Jaspersoft CI
#JASPERREPORTS_SERVER_APP_IMAGE_NAME=jrs-openjdk
#JASPERREPORTS_SERVER_CMDLINE_IMAGE_NAME=jrs-openjdk-cmdline
Expand All @@ -44,20 +57,22 @@ IMAGE_REPOSITORY=
JASPERREPORTS_SERVER_APP_IMAGE_NAME=jasperserver-pro
JASPERREPORTS_SERVER_CMDLINE_IMAGE_NAME=jasperserver-pro-cmdline

JAVASCRIPT_RENDERING_ENGINE=chromium

### Runtime args

# default database type
#DB_TYPE=postgresql
# DB_TYPE=postgresql

# localhost on Windows and Mac
DB_HOST=host.docker.internal
# DB_HOST=host.docker.internal

#DB_HOST=localhost
# DB_HOST=localhost

# defaults for PostgreSQL
#DB_PORT=5432
#DB_USER=postgres
#DB_PASSWORD=postgres
# DB_PORT=5432
# DB_USER=postgres
# DB_PASSWORD=postgres

# default database name
# DB_NAME=jasperserver
Expand Down
69 changes: 28 additions & 41 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -12,35 +12,40 @@
# Certified version of Tomcat for JasperReports Server 7.5.0 commercial editions
# ARG TOMCAT_BASE_IMAGE=tomcat:9.0-jdk11-corretto

ARG TOMCAT_BASE_IMAGE=tomcat:9.0.27-jdk11-openjdk
# Certified version of Tomcat for JasperReports Server 7.8.0 commercial editions
# ARG TOMCAT_BASE_IMAGE=tomcat:9.0.37-jdk11-corretto

ARG TOMCAT_BASE_IMAGE=tomcat:9.0.37-jdk11-openjdk
FROM ${TOMCAT_BASE_IMAGE}

ARG DN_HOSTNAME
ARG KS_PASSWORD
ARG JRS_HTTPS_ONLY
ARG HTTP_PORT
ARG HTTPS_PORT
ARG JAVASCRIPT_RENDERING_ENGINE
ARG POSTGRES_JDBC_DRIVER_VERSION
ARG JASPERREPORTS_SERVER_VERSION
ARG EXPLODED_INSTALLER_DIRECTORY

ENV PHANTOMJS_VERSION ${PHANTOMJS_VERSION:-2.1.1}
ENV DN_HOSTNAME ${DN_HOSTNAME:-localhost.localdomain}
ENV KS_PASSWORD ${KS_PASSWORD:-changeit}
ENV JRS_HTTPS_ONLY ${JRS_HTTPS_ONLY:-false}
ENV HTTP_PORT ${HTTP_PORT:-8080}
ENV HTTPS_PORT ${HTTPS_PORT:-8443}
ENV JRS_HTTPS_ONLY ${JRS_HTTPS_ONLY:-false}
ENV HTTP_PORT ${HTTP_PORT:-8080}
ENV HTTPS_PORT ${HTTPS_PORT:-8443}
ENV JAVASCRIPT_RENDERING_ENGINE ${JAVASCRIPT_RENDERING_ENGINE:-chromium}

ENV POSTGRES_JDBC_DRIVER_VERSION ${POSTGRES_JDBC_DRIVER_VERSION:-42.2.5}
ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.5.1}
ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.8.0}
ENV EXPLODED_INSTALLER_DIRECTORY ${EXPLODED_INSTALLER_DIRECTORY:-resources/jasperreports-server-pro-$JASPERREPORTS_SERVER_VERSION-bin}

# This Dockerfile requires an exploded JasperReports Server WAR file installer file
# This Dockerfile requires an exploded JasperReports Server WAR file installer file
# EXPLODED_INSTALLER_DIRECTORY (default jasperreports-server-bin/) directory below the Dockerfile.

RUN mkdir -p /usr/src/jasperreports-server

# get the WAR and license
# deploy the WAR to Tomcat
COPY ${EXPLODED_INSTALLER_DIRECTORY}/jasperserver-pro $CATALINA_HOME/webapps/jasperserver-pro/

#copy copyright notices
COPY ${EXPLODED_INSTALLER_DIRECTORY}/TIB* /usr/src/jasperreports-server/

# Ant
Expand All @@ -55,42 +60,24 @@ COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/bin/groovy /usr/src/jasperrepor

# supporting resources
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/conf_source /usr/src/jasperreports-server/buildomatic/conf_source/
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/target /usr/src/jasperreports-server/buildomatic/target/
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/lib /usr/src/jasperreports-server/buildomatic/lib/

COPY scripts /
# js-docker specific scripts and resources
COPY scripts /usr/src/jasperreports-server/scripts/

RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \
chmod +x /*.sh && \
/installPackagesForJasperserver-pro.sh > /dev/null && \
echo "finished installing packages" && \
RUN chmod +x /usr/src/jasperreports-server/scripts/*.sh && \
/usr/src/jasperreports-server/scripts/installPackagesForJasperserver-pro.sh && \
rm -rf $CATALINA_HOME/webapps/ROOT && \
rm -rf $CATALINA_HOME/webapps/docs && \
rm -rf $CATALINA_HOME/webapps/examples && \
rm -rf $CATALINA_HOME/webapps/host-manager && \
rm -rf $CATALINA_HOME/webapps/manager && \
#
cp -R /buildomatic /usr/src/jasperreports-server/buildomatic && \
rm /installPackagesForJasperserver*.sh && rm -rf /buildomatic && \
cp -R /usr/src/jasperreports-server/scripts/buildomatic /usr/src/jasperreports-server/buildomatic && \
chmod +x /usr/src/jasperreports-server/buildomatic/js-* && \
chmod +x /usr/src/jasperreports-server/apache-ant/bin/* && \
java -version && \
# Extract phantomjs, move to /usr/local/share/phantomjs, link to /usr/local/bin.
# Comment out if phantomjs not required.
wget "https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2" \
-O /tmp/phantomjs.tar.bz2 --no-verbose && \
tar -xjf /tmp/phantomjs.tar.bz2 -C /tmp && \
rm -f /tmp/phantomjs.tar.bz2 && \
mv /tmp/phantomjs*linux-x86_64 /usr/local/share/phantomjs && \
ln -sf /usr/local/share/phantomjs/bin/phantomjs /usr/local/bin && \
# In case you wish to download from a different location you can manually
# download the archive and copy from resources/ at build time. Note that you
# also # need to comment out the preceding RUN command
#COPY resources/phantomjs*bz2 /tmp/phantomjs.tar.bz2
#RUN tar -xjf /tmp/phantomjs.tar.bz2 -C /tmp && \
# rm -f /tmp/phantomjs.tar.bz2 && \
# mv /tmp/phantomjs*linux-x86_64 /usr/local/share/phantomjs && \
# ln -sf /usr/local/share/phantomjs/bin/phantomjs /usr/local/bin && \
rm -rf /tmp/* && \
#rm -rf /tmp/* && \
#
wget "https://jdbc.postgresql.org/download/postgresql-${POSTGRES_JDBC_DRIVER_VERSION}.jar" \
-P /usr/src/jasperreports-server/buildomatic/conf_source/db/postgresql/jdbc --no-verbose && \
Expand All @@ -102,12 +89,12 @@ RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \
-storetype PKCS12 \
-storepass "${KS_PASSWORD}" \
-keypass "${KS_PASSWORD}" \
-keystore /root/.keystore.p12 && \
keytool -list -keystore /root/.keystore.p12 -storepass "${KS_PASSWORD}" -storetype PKCS12 && \
xmlstarlet ed --inplace --subnode "/Server/Service" --type elem \
-keystore $CATALINA_HOME/conf/.keystore.p12 && \
keytool -list -keystore $CATALINA_HOME/conf/.keystore.p12 -storepass "${KS_PASSWORD}" -storetype PKCS12 && \
xmlstarlet ed --inplace --subnode "/Server/Service" --type elem \
-n Connector -v "" --var connector-ssl '$prev' \
--insert '$connector-ssl' --type attr -n port -v "${HTTPS_PORT}" \
--insert '$connector-ssl' --type attr -n protocol -v \
--insert '$connector-ssl' --type attr -n protocol -v \
"org.apache.coyote.http11.Http11NioProtocol" \
--insert '$connector-ssl' --type attr -n maxThreads -v "150" \
--insert '$connector-ssl' --type attr -n SSLEnabled -v "true" \
Expand All @@ -118,15 +105,15 @@ RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \
--insert '$connector-ssl' --type attr -n keystorePass \
-v "${KS_PASSWORD}"\
--insert '$connector-ssl' --type attr -n keystoreFile \
-v "/root/.keystore.p12" \
-v "$CATALINA_HOME/conf/.keystore.p12" \
${CATALINA_HOME}/conf/server.xml

# Expose ports. Note that you must do one of the following:
# map them to local ports at container runtime via "-p 8080:8080 -p 8443:8443"
# or use dynamic ports.
EXPOSE ${HTTP_PORT} ${HTTPS_PORT}

ENTRYPOINT ["/entrypoint.sh"]
ENTRYPOINT ["/usr/src/jasperreports-server/scripts/entrypoint.sh"]

# Default action executed by entrypoint script.
CMD ["run"]
25 changes: 11 additions & 14 deletions Dockerfile-cmdline
Original file line number Diff line number Diff line change
Expand Up @@ -5,10 +5,10 @@
# set certified JRE image version for the
# JasperReports Server command line tools

# for JasperReports Server 7.5
# for JasperReports Server 7.5.0 and 7.8.0
# ARG JAVA_BASE_IMAGE=amazoncorretto:11

ARG JAVA_BASE_IMAGE=openjdk:11.0-slim
ARG JAVA_BASE_IMAGE=openjdk:11.0

FROM ${JAVA_BASE_IMAGE}

Expand All @@ -17,7 +17,7 @@ ARG JASPERREPORTS_SERVER_VERSION
ARG EXPLODED_INSTALLER_DIRECTORY

ENV POSTGRES_JDBC_DRIVER_VERSION ${POSTGRES_JDBC_DRIVER_VERSION:-42.2.5}
ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.5.1}
ENV JASPERREPORTS_SERVER_VERSION ${JASPERREPORTS_SERVER_VERSION:-7.8.0}
ENV EXPLODED_INSTALLER_DIRECTORY ${EXPLODED_INSTALLER_DIRECTORY:-resources/jasperreports-server-pro-$JASPERREPORTS_SERVER_VERSION-bin}

# This Dockerfile requires an exploded JasperReports Server WAR file installer file
Expand All @@ -26,8 +26,6 @@ ENV EXPLODED_INSTALLER_DIRECTORY ${EXPLODED_INSTALLER_DIRECTORY:-resources/jaspe
# COPY the buildomatic, command line scripts and supporting resources
# from the JasperReports Server WAR file installer into the image

RUN mkdir -p /usr/src/jasperreports-server

# Ant
COPY ${EXPLODED_INSTALLER_DIRECTORY}/apache-ant /usr/src/jasperreports-server/apache-ant/

Expand All @@ -45,25 +43,24 @@ COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/bin/groovy /usr/src/jasperrepor
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/jdbc-dep /usr/src/jasperreports-server/buildomatic/bin/jdbc-dep/
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/install_resources /usr/src/jasperreports-server/buildomatic/install_resources/
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/conf_source /usr/src/jasperreports-server/buildomatic/conf_source/
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/target /usr/src/jasperreports-server/buildomatic/target/
COPY ${EXPLODED_INSTALLER_DIRECTORY}/buildomatic/lib /usr/src/jasperreports-server/buildomatic/lib/

COPY scripts /
# js-docker specific scripts and resources
COPY scripts /usr/src/jasperreports-server/scripts/

RUN echo "apt-get" && \
echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \
chmod +x /*.sh && \
/installPackagesForJasperserver-pro-cmdline.sh && \
RUN echo "nameserver 8.8.8.8" | tee /etc/resolv.conf > /dev/null && \
chmod +x /usr/src/jasperreports-server/scripts/*.sh && \
/usr/src/jasperreports-server/scripts/installPackagesForJasperserver-pro-cmdline.sh && \
echo "finished installing packages" && \
cp -R /buildomatic /usr/src/jasperreports-server/buildomatic && \
rm /installPackagesForJasperserver*.sh && rm -rf /buildomatic && \
cp -R /usr/src/jasperreports-server/scripts/buildomatic /usr/src/jasperreports-server/buildomatic && \
chmod +x /usr/src/jasperreports-server/buildomatic/js-* && \
chmod +x /usr/src/jasperreports-server/buildomatic/bin/*.sh && \
chmod +x /usr/src/jasperreports-server/apache-ant/bin/* && \
java -version && \
wget "https://jdbc.postgresql.org/download/postgresql-${POSTGRES_JDBC_DRIVER_VERSION}.jar" \
-P /usr/src/jasperreports-server/buildomatic/conf_source/db/postgresql/jdbc --no-verbose

ENTRYPOINT ["/entrypoint-cmdline.sh"]
ENTRYPOINT ["/usr/src/jasperreports-server/scripts/entrypoint-cmdline.sh"]

# Default action executed by entrypoint script.
CMD ["init"]
Loading

0 comments on commit cb49f87

Please sign in to comment.