ARG BASE_REGISTRY=repo.dso.mil ARG BASE_IMAGE=ironbank/redhat/openjdk/openjdk11 ARG BASE_TAG=1.11 FROM ${BASE_REGISTRY}/${BASE_IMAGE}:${BASE_TAG} ENV RUN_USER jira ENV RUN_GROUP jira ENV RUN_UID 2001 ENV RUN_GID 2001 # https://confluence.atlassian.com/display/JSERVERM/Important+directories+and+files ENV JIRA_HOME /var/atlassian/application-data/jira ENV JIRA_INSTALL_DIR /opt/atlassian/jira WORKDIR $JIRA_HOME # Expose HTTP port EXPOSE 8080 # JIRA Cluster Sync Port EXPOSE 40001 CMD ["/entrypoint.py"] ENTRYPOINT ["/usr/bin/tini", "--"] USER root COPY dumb-init-1.2.2-6.el8.x86_64.rpm /opt/ RUN dnf -y update && dnf -y upgrade && \ dnf -y install fontconfig python3 python3-jinja2 unzip && \ rpm -Uvh /opt/dumb-init-1.2.2-6.el8.x86_64.rpm ARG JIRA_VERSION=8.19.0 ARG JSM_VERSION=4.19.0 ARG ARTEFACT_NAME=atlassian-jira-software COPY atlassian-jira-software-${JIRA_VERSION}.tar.gz /opt/ COPY jira-servicedesk-application-${JSM_VERSION}.obr /opt/ RUN groupadd --gid ${RUN_GID} ${RUN_GROUP} \ && useradd --uid ${RUN_UID} --gid ${RUN_GID} --home-dir ${JIRA_HOME} --shell /bin/bash ${RUN_USER} \ && echo PATH=$PATH > /etc/environment \ \ && mkdir -p ${JIRA_INSTALL_DIR} \ && tar -xzf /opt/atlassian-jira-software-${JIRA_VERSION}.tar.gz --strip-components 1 -C /opt/atlassian/jira/ \ && chmod -R "u=rwX,g=rX,o=rX" ${JIRA_INSTALL_DIR}/ \ && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_INSTALL_DIR}/ \ \ && sed -i -e 's/^JVM_SUPPORT_RECOMMENDED_ARGS=""$/: \${JVM_SUPPORT_RECOMMENDED_ARGS:=""}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ && sed -i -e 's/^JVM_\(.*\)_MEMORY="\(.*\)"$/: \${JVM_\1_MEMORY:=\2}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh \ && sed -i -e 's/-XX:ReservedCodeCacheSize=\([0-9]\+[kmg]\)/-XX:ReservedCodeCacheSize=${JVM_RESERVED_CODE_CACHE_SIZE:=\1}/g' ${JIRA_INSTALL_DIR}/bin/setenv.sh #Install JSM RUN unzip /opt/jira-servicedesk-application-${JSM_VERSION}.obr -d /opt/jsm \ && ls /opt/jsm/dependencies/*.jar 1> /dev/null 2>&1 \ && mkdir -p ${JIRA_HOME}/plugins/installed-plugins/ \ && cp /opt/jsm/dependencies/*.jar ${JIRA_HOME}/plugins/installed-plugins/ \ && cp /opt/jsm/*.jar ${JIRA_HOME}/plugins/installed-plugins/ RUN touch /etc/container_id \ && chown ${RUN_USER}:${RUN_GROUP} /etc/container_id \ && chown -R ${RUN_USER}:${RUN_GROUP} ${JIRA_HOME} VOLUME ["${JIRA_HOME}"] # Must be declared after setting perms COPY scripts/entrypoint.py \ scripts/entrypoint_helpers.py / COPY scripts/shared-components/support /opt/atlassian/support COPY config/* /opt/atlassian/etc/ #### Clean up #### RUN rm -rf /opt/dumb-init-1.2.2-6.el8.x86_64.rpm && dnf clean all && rm -rf /opt/${ARTEFACT_NAME}-${JIRA_VERSION}.tar.gz RUN rm -rf /opt/jira-servicedesk-application-{$JSM_VERSION}.obr && rm -rf /opt/jsm && dnf -y remove unzip # # HEALTHCHECK # HEALTHCHECK --start-period=5m --interval=3m --timeout=3s \ CMD curl -f http://localhost:8080/ || exit 1 # # RUN # USER ${RUN_USER} ENTRYPOINT ["/entrypoint.py"] CMD ["${JIRA_INSTALL_DIR}/bin/catalina.sh", "run"]