diff --git a/linux/atlassian/jira/6/6.0.1/.env b/linux/atlassian/jira/6/6.0.1/.env new file mode 100644 index 000000000..ce7d3fe65 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.1/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.1-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.1/Dockerfile b/linux/atlassian/jira/6/6.0.1/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.1/Makefile b/linux/atlassian/jira/6/6.0.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.1/docker-compose.yml b/linux/atlassian/jira/6/6.0.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.1/entrypoint.sh b/linux/atlassian/jira/6/6.0.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.2/.env b/linux/atlassian/jira/6/6.0.2/.env new file mode 100644 index 000000000..ecb03a7b5 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.2/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.2-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.2/Dockerfile b/linux/atlassian/jira/6/6.0.2/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.2/Makefile b/linux/atlassian/jira/6/6.0.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.2/docker-compose.yml b/linux/atlassian/jira/6/6.0.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.2/entrypoint.sh b/linux/atlassian/jira/6/6.0.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.3/.env b/linux/atlassian/jira/6/6.0.3/.env new file mode 100644 index 000000000..cfe00f7d5 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.3/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.3-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.3/Dockerfile b/linux/atlassian/jira/6/6.0.3/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.3/Makefile b/linux/atlassian/jira/6/6.0.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.3/docker-compose.yml b/linux/atlassian/jira/6/6.0.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.3/entrypoint.sh b/linux/atlassian/jira/6/6.0.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.4/.env b/linux/atlassian/jira/6/6.0.4/.env new file mode 100644 index 000000000..f49441bde --- /dev/null +++ b/linux/atlassian/jira/6/6.0.4/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.4-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.4/Dockerfile b/linux/atlassian/jira/6/6.0.4/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.4/Makefile b/linux/atlassian/jira/6/6.0.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.4/docker-compose.yml b/linux/atlassian/jira/6/6.0.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.4/entrypoint.sh b/linux/atlassian/jira/6/6.0.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.5/.env b/linux/atlassian/jira/6/6.0.5/.env new file mode 100644 index 000000000..e124d1ec8 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.5/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.5-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.5/Dockerfile b/linux/atlassian/jira/6/6.0.5/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.5/Makefile b/linux/atlassian/jira/6/6.0.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.5/docker-compose.yml b/linux/atlassian/jira/6/6.0.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.5/entrypoint.sh b/linux/atlassian/jira/6/6.0.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.6/.env b/linux/atlassian/jira/6/6.0.6/.env new file mode 100644 index 000000000..cd09ad26a --- /dev/null +++ b/linux/atlassian/jira/6/6.0.6/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.6-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.6/Dockerfile b/linux/atlassian/jira/6/6.0.6/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.6/Makefile b/linux/atlassian/jira/6/6.0.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.6/docker-compose.yml b/linux/atlassian/jira/6/6.0.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.6/entrypoint.sh b/linux/atlassian/jira/6/6.0.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.7/.env b/linux/atlassian/jira/6/6.0.7/.env new file mode 100644 index 000000000..96b403562 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.7/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.7-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.7/Dockerfile b/linux/atlassian/jira/6/6.0.7/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.7/Makefile b/linux/atlassian/jira/6/6.0.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.7/docker-compose.yml b/linux/atlassian/jira/6/6.0.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.7/entrypoint.sh b/linux/atlassian/jira/6/6.0.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0.8/.env b/linux/atlassian/jira/6/6.0.8/.env new file mode 100644 index 000000000..3c7f7a4a9 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.8/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0.8-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0.8/Dockerfile b/linux/atlassian/jira/6/6.0.8/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.8/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0.8/Makefile b/linux/atlassian/jira/6/6.0.8/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.8/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0.8/docker-compose.yml b/linux/atlassian/jira/6/6.0.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0.8/entrypoint.sh b/linux/atlassian/jira/6/6.0.8/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0.8/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.0/.env b/linux/atlassian/jira/6/6.0/.env new file mode 100644 index 000000000..f46c56fbe --- /dev/null +++ b/linux/atlassian/jira/6/6.0/.env @@ -0,0 +1,3 @@ + +RELEASE=6.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.0-war.tar.gz diff --git a/linux/atlassian/jira/6/6.0/Dockerfile b/linux/atlassian/jira/6/6.0/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.0/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.0/Makefile b/linux/atlassian/jira/6/6.0/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.0/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.0/docker-compose.yml b/linux/atlassian/jira/6/6.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.0/entrypoint.sh b/linux/atlassian/jira/6/6.0/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.1/.env b/linux/atlassian/jira/6/6.1.1/.env new file mode 100644 index 000000000..a12a8f72e --- /dev/null +++ b/linux/atlassian/jira/6/6.1.1/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.1-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.1/Dockerfile b/linux/atlassian/jira/6/6.1.1/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.1/Makefile b/linux/atlassian/jira/6/6.1.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.1/docker-compose.yml b/linux/atlassian/jira/6/6.1.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.1/entrypoint.sh b/linux/atlassian/jira/6/6.1.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.2/.env b/linux/atlassian/jira/6/6.1.2/.env new file mode 100644 index 000000000..f9320266d --- /dev/null +++ b/linux/atlassian/jira/6/6.1.2/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.2-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.2/Dockerfile b/linux/atlassian/jira/6/6.1.2/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.2/Makefile b/linux/atlassian/jira/6/6.1.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.2/docker-compose.yml b/linux/atlassian/jira/6/6.1.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.2/entrypoint.sh b/linux/atlassian/jira/6/6.1.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.3/.env b/linux/atlassian/jira/6/6.1.3/.env new file mode 100644 index 000000000..81e1dff94 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.3/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.3-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.3/Dockerfile b/linux/atlassian/jira/6/6.1.3/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.3/Makefile b/linux/atlassian/jira/6/6.1.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.3/docker-compose.yml b/linux/atlassian/jira/6/6.1.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.3/entrypoint.sh b/linux/atlassian/jira/6/6.1.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.4/.env b/linux/atlassian/jira/6/6.1.4/.env new file mode 100644 index 000000000..6d11eacc2 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.4/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.4-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.4/Dockerfile b/linux/atlassian/jira/6/6.1.4/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.4/Makefile b/linux/atlassian/jira/6/6.1.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.4/docker-compose.yml b/linux/atlassian/jira/6/6.1.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.4/entrypoint.sh b/linux/atlassian/jira/6/6.1.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.5/.env b/linux/atlassian/jira/6/6.1.5/.env new file mode 100644 index 000000000..ed36ad2be --- /dev/null +++ b/linux/atlassian/jira/6/6.1.5/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.5-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.5/Dockerfile b/linux/atlassian/jira/6/6.1.5/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.5/Makefile b/linux/atlassian/jira/6/6.1.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.5/docker-compose.yml b/linux/atlassian/jira/6/6.1.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.5/entrypoint.sh b/linux/atlassian/jira/6/6.1.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.6/.env b/linux/atlassian/jira/6/6.1.6/.env new file mode 100644 index 000000000..19df26917 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.6/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.6-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.6/Dockerfile b/linux/atlassian/jira/6/6.1.6/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.6/Makefile b/linux/atlassian/jira/6/6.1.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.6/docker-compose.yml b/linux/atlassian/jira/6/6.1.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.6/entrypoint.sh b/linux/atlassian/jira/6/6.1.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.7/.env b/linux/atlassian/jira/6/6.1.7/.env new file mode 100644 index 000000000..5d3af75c2 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.7/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.7-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.7/Dockerfile b/linux/atlassian/jira/6/6.1.7/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.7/Makefile b/linux/atlassian/jira/6/6.1.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.7/docker-compose.yml b/linux/atlassian/jira/6/6.1.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.7/entrypoint.sh b/linux/atlassian/jira/6/6.1.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.8/.env b/linux/atlassian/jira/6/6.1.8/.env new file mode 100644 index 000000000..9fd53a51f --- /dev/null +++ b/linux/atlassian/jira/6/6.1.8/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.8-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.8/Dockerfile b/linux/atlassian/jira/6/6.1.8/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.8/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.8/Makefile b/linux/atlassian/jira/6/6.1.8/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.8/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.8/docker-compose.yml b/linux/atlassian/jira/6/6.1.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.8/entrypoint.sh b/linux/atlassian/jira/6/6.1.8/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.8/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1.9/.env b/linux/atlassian/jira/6/6.1.9/.env new file mode 100644 index 000000000..2e02d098e --- /dev/null +++ b/linux/atlassian/jira/6/6.1.9/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1.9-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1.9/Dockerfile b/linux/atlassian/jira/6/6.1.9/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.9/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1.9/Makefile b/linux/atlassian/jira/6/6.1.9/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.9/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1.9/docker-compose.yml b/linux/atlassian/jira/6/6.1.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1.9/entrypoint.sh b/linux/atlassian/jira/6/6.1.9/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1.9/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.1/.env b/linux/atlassian/jira/6/6.1/.env new file mode 100644 index 000000000..d4c72174e --- /dev/null +++ b/linux/atlassian/jira/6/6.1/.env @@ -0,0 +1,3 @@ + +RELEASE=6.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.1-war.tar.gz diff --git a/linux/atlassian/jira/6/6.1/Dockerfile b/linux/atlassian/jira/6/6.1/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.1/Makefile b/linux/atlassian/jira/6/6.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.1/docker-compose.yml b/linux/atlassian/jira/6/6.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.1/entrypoint.sh b/linux/atlassian/jira/6/6.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.1/.env b/linux/atlassian/jira/6/6.2.1/.env new file mode 100644 index 000000000..fd2af7de2 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.1/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.1-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.1/Dockerfile b/linux/atlassian/jira/6/6.2.1/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.1/Makefile b/linux/atlassian/jira/6/6.2.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.1/docker-compose.yml b/linux/atlassian/jira/6/6.2.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.1/entrypoint.sh b/linux/atlassian/jira/6/6.2.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.2/.env b/linux/atlassian/jira/6/6.2.2/.env new file mode 100644 index 000000000..eadcc098c --- /dev/null +++ b/linux/atlassian/jira/6/6.2.2/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.2-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.2/Dockerfile b/linux/atlassian/jira/6/6.2.2/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.2/Makefile b/linux/atlassian/jira/6/6.2.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.2/docker-compose.yml b/linux/atlassian/jira/6/6.2.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.2/entrypoint.sh b/linux/atlassian/jira/6/6.2.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.3/.env b/linux/atlassian/jira/6/6.2.3/.env new file mode 100644 index 000000000..5d7ef117e --- /dev/null +++ b/linux/atlassian/jira/6/6.2.3/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.3-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.3/Dockerfile b/linux/atlassian/jira/6/6.2.3/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.3/Makefile b/linux/atlassian/jira/6/6.2.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.3/docker-compose.yml b/linux/atlassian/jira/6/6.2.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.3/entrypoint.sh b/linux/atlassian/jira/6/6.2.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.4/.env b/linux/atlassian/jira/6/6.2.4/.env new file mode 100644 index 000000000..93ded70a6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.4/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.4-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.4/Dockerfile b/linux/atlassian/jira/6/6.2.4/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.4/Makefile b/linux/atlassian/jira/6/6.2.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.4/docker-compose.yml b/linux/atlassian/jira/6/6.2.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.4/entrypoint.sh b/linux/atlassian/jira/6/6.2.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.5/.env b/linux/atlassian/jira/6/6.2.5/.env new file mode 100644 index 000000000..4bc32a43e --- /dev/null +++ b/linux/atlassian/jira/6/6.2.5/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.5-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.5/Dockerfile b/linux/atlassian/jira/6/6.2.5/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.5/Makefile b/linux/atlassian/jira/6/6.2.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.5/docker-compose.yml b/linux/atlassian/jira/6/6.2.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.5/entrypoint.sh b/linux/atlassian/jira/6/6.2.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.6/.env b/linux/atlassian/jira/6/6.2.6/.env new file mode 100644 index 000000000..0bb4d5cb9 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.6/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.6-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.6/Dockerfile b/linux/atlassian/jira/6/6.2.6/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.6/Makefile b/linux/atlassian/jira/6/6.2.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.6/docker-compose.yml b/linux/atlassian/jira/6/6.2.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.6/entrypoint.sh b/linux/atlassian/jira/6/6.2.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2.7/.env b/linux/atlassian/jira/6/6.2.7/.env new file mode 100644 index 000000000..cce09ff61 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.7/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2.7-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2.7/Dockerfile b/linux/atlassian/jira/6/6.2.7/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2.7/Makefile b/linux/atlassian/jira/6/6.2.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2.7/docker-compose.yml b/linux/atlassian/jira/6/6.2.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2.7/entrypoint.sh b/linux/atlassian/jira/6/6.2.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.2/.env b/linux/atlassian/jira/6/6.2/.env new file mode 100644 index 000000000..72a26be92 --- /dev/null +++ b/linux/atlassian/jira/6/6.2/.env @@ -0,0 +1,3 @@ + +RELEASE=6.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.2-war.tar.gz diff --git a/linux/atlassian/jira/6/6.2/Dockerfile b/linux/atlassian/jira/6/6.2/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.2/Makefile b/linux/atlassian/jira/6/6.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.2/docker-compose.yml b/linux/atlassian/jira/6/6.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.2/entrypoint.sh b/linux/atlassian/jira/6/6.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.1/.env b/linux/atlassian/jira/6/6.3.1/.env new file mode 100644 index 000000000..cce1312e7 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.1/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.1-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.1/Dockerfile b/linux/atlassian/jira/6/6.3.1/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.1/Makefile b/linux/atlassian/jira/6/6.3.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.1/docker-compose.yml b/linux/atlassian/jira/6/6.3.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.1/entrypoint.sh b/linux/atlassian/jira/6/6.3.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.10/.env b/linux/atlassian/jira/6/6.3.10/.env new file mode 100644 index 000000000..72c6b9156 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.10/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.10-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.10/Dockerfile b/linux/atlassian/jira/6/6.3.10/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.10/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.10/Makefile b/linux/atlassian/jira/6/6.3.10/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.10/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.10/docker-compose.yml b/linux/atlassian/jira/6/6.3.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.10/entrypoint.sh b/linux/atlassian/jira/6/6.3.10/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.10/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.11/.env b/linux/atlassian/jira/6/6.3.11/.env new file mode 100644 index 000000000..8f820ccc7 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.11/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.11-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.11/Dockerfile b/linux/atlassian/jira/6/6.3.11/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.11/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.11/Makefile b/linux/atlassian/jira/6/6.3.11/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.11/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.11/docker-compose.yml b/linux/atlassian/jira/6/6.3.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.11/entrypoint.sh b/linux/atlassian/jira/6/6.3.11/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.11/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.12/.env b/linux/atlassian/jira/6/6.3.12/.env new file mode 100644 index 000000000..58f0b68a5 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.12/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.12-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.12/Dockerfile b/linux/atlassian/jira/6/6.3.12/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.12/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.12/Makefile b/linux/atlassian/jira/6/6.3.12/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.12/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.12/docker-compose.yml b/linux/atlassian/jira/6/6.3.12/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.12/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.12/entrypoint.sh b/linux/atlassian/jira/6/6.3.12/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.12/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.13/.env b/linux/atlassian/jira/6/6.3.13/.env new file mode 100644 index 000000000..562f587d7 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.13/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.13 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.13-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.13/Dockerfile b/linux/atlassian/jira/6/6.3.13/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.13/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.13/Makefile b/linux/atlassian/jira/6/6.3.13/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.13/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.13/docker-compose.yml b/linux/atlassian/jira/6/6.3.13/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.13/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.13/entrypoint.sh b/linux/atlassian/jira/6/6.3.13/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.13/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.14/.env b/linux/atlassian/jira/6/6.3.14/.env new file mode 100644 index 000000000..3c1323bae --- /dev/null +++ b/linux/atlassian/jira/6/6.3.14/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.14 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.14-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.14/Dockerfile b/linux/atlassian/jira/6/6.3.14/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.14/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.14/Makefile b/linux/atlassian/jira/6/6.3.14/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.14/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.14/docker-compose.yml b/linux/atlassian/jira/6/6.3.14/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.14/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.14/entrypoint.sh b/linux/atlassian/jira/6/6.3.14/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.14/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.15/.env b/linux/atlassian/jira/6/6.3.15/.env new file mode 100644 index 000000000..e9c265b6a --- /dev/null +++ b/linux/atlassian/jira/6/6.3.15/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.15 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.15-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.15/Dockerfile b/linux/atlassian/jira/6/6.3.15/Dockerfile index 5b34ba500..9d7304645 100644 --- a/linux/atlassian/jira/6/6.3.15/Dockerfile +++ b/linux/atlassian/jira/6/6.3.15/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=6.3.15 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup @@ -32,6 +35,7 @@ RUN mkdir -p ${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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ diff --git a/linux/atlassian/jira/6/6.3.15/Makefile b/linux/atlassian/jira/6/6.3.15/Makefile index 1600cdd9c..82c5a2de6 100644 --- a/linux/atlassian/jira/6/6.3.15/Makefile +++ b/linux/atlassian/jira/6/6.3.15/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:6.3.15 . - docker push epicmorg/jira:6.3.15 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.15/docker-compose.yml b/linux/atlassian/jira/6/6.3.15/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.15/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.3/.env b/linux/atlassian/jira/6/6.3.3/.env new file mode 100644 index 000000000..94ec966c6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.3/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.3-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.3/Dockerfile b/linux/atlassian/jira/6/6.3.3/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.3/Makefile b/linux/atlassian/jira/6/6.3.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.3/docker-compose.yml b/linux/atlassian/jira/6/6.3.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.3/entrypoint.sh b/linux/atlassian/jira/6/6.3.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.4/.env b/linux/atlassian/jira/6/6.3.4/.env new file mode 100644 index 000000000..a5498f7f0 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.4/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.4-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.4/Dockerfile b/linux/atlassian/jira/6/6.3.4/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.4/Makefile b/linux/atlassian/jira/6/6.3.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.4/docker-compose.yml b/linux/atlassian/jira/6/6.3.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.4/entrypoint.sh b/linux/atlassian/jira/6/6.3.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.5/.env b/linux/atlassian/jira/6/6.3.5/.env new file mode 100644 index 000000000..f5d69987e --- /dev/null +++ b/linux/atlassian/jira/6/6.3.5/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.5-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.5/Dockerfile b/linux/atlassian/jira/6/6.3.5/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.5/Makefile b/linux/atlassian/jira/6/6.3.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.5/docker-compose.yml b/linux/atlassian/jira/6/6.3.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.5/entrypoint.sh b/linux/atlassian/jira/6/6.3.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.6/.env b/linux/atlassian/jira/6/6.3.6/.env new file mode 100644 index 000000000..6ff089fab --- /dev/null +++ b/linux/atlassian/jira/6/6.3.6/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.6-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.6/Dockerfile b/linux/atlassian/jira/6/6.3.6/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.6/Makefile b/linux/atlassian/jira/6/6.3.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.6/docker-compose.yml b/linux/atlassian/jira/6/6.3.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.6/entrypoint.sh b/linux/atlassian/jira/6/6.3.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.7/.env b/linux/atlassian/jira/6/6.3.7/.env new file mode 100644 index 000000000..98ba904b8 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.7/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.7-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.7/Dockerfile b/linux/atlassian/jira/6/6.3.7/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.7/Makefile b/linux/atlassian/jira/6/6.3.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.7/docker-compose.yml b/linux/atlassian/jira/6/6.3.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.7/entrypoint.sh b/linux/atlassian/jira/6/6.3.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.8/.env b/linux/atlassian/jira/6/6.3.8/.env new file mode 100644 index 000000000..b978a5e7c --- /dev/null +++ b/linux/atlassian/jira/6/6.3.8/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.8-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.8/Dockerfile b/linux/atlassian/jira/6/6.3.8/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.8/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.8/Makefile b/linux/atlassian/jira/6/6.3.8/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.8/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.8/docker-compose.yml b/linux/atlassian/jira/6/6.3.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.8/entrypoint.sh b/linux/atlassian/jira/6/6.3.8/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.8/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3.9/.env b/linux/atlassian/jira/6/6.3.9/.env new file mode 100644 index 000000000..ff4feffc4 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.9/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3.9-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3.9/Dockerfile b/linux/atlassian/jira/6/6.3.9/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.9/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3.9/Makefile b/linux/atlassian/jira/6/6.3.9/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.9/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3.9/docker-compose.yml b/linux/atlassian/jira/6/6.3.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3.9/entrypoint.sh b/linux/atlassian/jira/6/6.3.9/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3.9/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.3/.env b/linux/atlassian/jira/6/6.3/.env new file mode 100644 index 000000000..eb12a4890 --- /dev/null +++ b/linux/atlassian/jira/6/6.3/.env @@ -0,0 +1,3 @@ + +RELEASE=6.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.3-war.tar.gz diff --git a/linux/atlassian/jira/6/6.3/Dockerfile b/linux/atlassian/jira/6/6.3/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.3/Makefile b/linux/atlassian/jira/6/6.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.3/docker-compose.yml b/linux/atlassian/jira/6/6.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.3/entrypoint.sh b/linux/atlassian/jira/6/6.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.1/.env b/linux/atlassian/jira/6/6.4.1/.env new file mode 100644 index 000000000..1ca180e42 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.1/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.1-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.1/Dockerfile b/linux/atlassian/jira/6/6.4.1/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.1/Makefile b/linux/atlassian/jira/6/6.4.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.1/docker-compose.yml b/linux/atlassian/jira/6/6.4.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.1/entrypoint.sh b/linux/atlassian/jira/6/6.4.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.10/.env b/linux/atlassian/jira/6/6.4.10/.env new file mode 100644 index 000000000..9616ebcfe --- /dev/null +++ b/linux/atlassian/jira/6/6.4.10/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.10-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.10/Dockerfile b/linux/atlassian/jira/6/6.4.10/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.10/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.10/Makefile b/linux/atlassian/jira/6/6.4.10/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.10/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.10/docker-compose.yml b/linux/atlassian/jira/6/6.4.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.10/entrypoint.sh b/linux/atlassian/jira/6/6.4.10/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.10/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.11/.env b/linux/atlassian/jira/6/6.4.11/.env new file mode 100644 index 000000000..9abac8a6a --- /dev/null +++ b/linux/atlassian/jira/6/6.4.11/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.11-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.11/Dockerfile b/linux/atlassian/jira/6/6.4.11/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.11/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.11/Makefile b/linux/atlassian/jira/6/6.4.11/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.11/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.11/docker-compose.yml b/linux/atlassian/jira/6/6.4.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.11/entrypoint.sh b/linux/atlassian/jira/6/6.4.11/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.11/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.12/.env b/linux/atlassian/jira/6/6.4.12/.env new file mode 100644 index 000000000..2f5cda99f --- /dev/null +++ b/linux/atlassian/jira/6/6.4.12/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.12-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.12/Dockerfile b/linux/atlassian/jira/6/6.4.12/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.12/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.12/Makefile b/linux/atlassian/jira/6/6.4.12/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.12/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.12/docker-compose.yml b/linux/atlassian/jira/6/6.4.12/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.12/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.12/entrypoint.sh b/linux/atlassian/jira/6/6.4.12/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.12/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.13/.env b/linux/atlassian/jira/6/6.4.13/.env new file mode 100644 index 000000000..818179942 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.13/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.13 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.13-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.13/Dockerfile b/linux/atlassian/jira/6/6.4.13/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.13/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.13/Makefile b/linux/atlassian/jira/6/6.4.13/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.13/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.13/docker-compose.yml b/linux/atlassian/jira/6/6.4.13/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.13/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.13/entrypoint.sh b/linux/atlassian/jira/6/6.4.13/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.13/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.14/.env b/linux/atlassian/jira/6/6.4.14/.env new file mode 100644 index 000000000..796b08d88 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.14/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.14 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.14-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.14/Dockerfile b/linux/atlassian/jira/6/6.4.14/Dockerfile index ccea5ede7..9d7304645 100644 --- a/linux/atlassian/jira/6/6.4.14/Dockerfile +++ b/linux/atlassian/jira/6/6.4.14/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=6.4.14 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup @@ -32,6 +35,7 @@ RUN mkdir -p ${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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ diff --git a/linux/atlassian/jira/6/6.4.14/Makefile b/linux/atlassian/jira/6/6.4.14/Makefile index 8f1d19b9d..82c5a2de6 100644 --- a/linux/atlassian/jira/6/6.4.14/Makefile +++ b/linux/atlassian/jira/6/6.4.14/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:6.4.14 . - docker push epicmorg/jira:6.4.14 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.14/docker-compose.yml b/linux/atlassian/jira/6/6.4.14/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.14/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.2/.env b/linux/atlassian/jira/6/6.4.2/.env new file mode 100644 index 000000000..7685317b0 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.2/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.2-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.2/Dockerfile b/linux/atlassian/jira/6/6.4.2/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.2/Makefile b/linux/atlassian/jira/6/6.4.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.2/docker-compose.yml b/linux/atlassian/jira/6/6.4.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.2/entrypoint.sh b/linux/atlassian/jira/6/6.4.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.3/.env b/linux/atlassian/jira/6/6.4.3/.env new file mode 100644 index 000000000..9f2e2f073 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.3/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.3-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.3/Dockerfile b/linux/atlassian/jira/6/6.4.3/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.3/Makefile b/linux/atlassian/jira/6/6.4.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.3/docker-compose.yml b/linux/atlassian/jira/6/6.4.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.3/entrypoint.sh b/linux/atlassian/jira/6/6.4.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.4/.env b/linux/atlassian/jira/6/6.4.4/.env new file mode 100644 index 000000000..fbf48c1e1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.4/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.4-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.4/Dockerfile b/linux/atlassian/jira/6/6.4.4/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.4/Makefile b/linux/atlassian/jira/6/6.4.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.4/docker-compose.yml b/linux/atlassian/jira/6/6.4.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.4/entrypoint.sh b/linux/atlassian/jira/6/6.4.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.5/.env b/linux/atlassian/jira/6/6.4.5/.env new file mode 100644 index 000000000..394e1303b --- /dev/null +++ b/linux/atlassian/jira/6/6.4.5/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.5-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.5/Dockerfile b/linux/atlassian/jira/6/6.4.5/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.5/Makefile b/linux/atlassian/jira/6/6.4.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.5/docker-compose.yml b/linux/atlassian/jira/6/6.4.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.5/entrypoint.sh b/linux/atlassian/jira/6/6.4.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.6/.env b/linux/atlassian/jira/6/6.4.6/.env new file mode 100644 index 000000000..37b4e29ae --- /dev/null +++ b/linux/atlassian/jira/6/6.4.6/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.6-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.6/Dockerfile b/linux/atlassian/jira/6/6.4.6/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.6/Makefile b/linux/atlassian/jira/6/6.4.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.6/docker-compose.yml b/linux/atlassian/jira/6/6.4.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.6/entrypoint.sh b/linux/atlassian/jira/6/6.4.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.7/.env b/linux/atlassian/jira/6/6.4.7/.env new file mode 100644 index 000000000..61e357e69 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.7/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.7-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.7/Dockerfile b/linux/atlassian/jira/6/6.4.7/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.7/Makefile b/linux/atlassian/jira/6/6.4.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.7/docker-compose.yml b/linux/atlassian/jira/6/6.4.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.7/entrypoint.sh b/linux/atlassian/jira/6/6.4.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.8/.env b/linux/atlassian/jira/6/6.4.8/.env new file mode 100644 index 000000000..075010e8e --- /dev/null +++ b/linux/atlassian/jira/6/6.4.8/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.8-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.8/Dockerfile b/linux/atlassian/jira/6/6.4.8/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.8/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.8/Makefile b/linux/atlassian/jira/6/6.4.8/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.8/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.8/docker-compose.yml b/linux/atlassian/jira/6/6.4.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.8/entrypoint.sh b/linux/atlassian/jira/6/6.4.8/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.8/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4.9/.env b/linux/atlassian/jira/6/6.4.9/.env new file mode 100644 index 000000000..82ffee022 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.9/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4.9-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4.9/Dockerfile b/linux/atlassian/jira/6/6.4.9/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.9/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4.9/Makefile b/linux/atlassian/jira/6/6.4.9/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.9/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4.9/docker-compose.yml b/linux/atlassian/jira/6/6.4.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4.9/entrypoint.sh b/linux/atlassian/jira/6/6.4.9/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4.9/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/6/6.4/.env b/linux/atlassian/jira/6/6.4/.env new file mode 100644 index 000000000..6af44d925 --- /dev/null +++ b/linux/atlassian/jira/6/6.4/.env @@ -0,0 +1,3 @@ + +RELEASE=6.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-6.4-war.tar.gz diff --git a/linux/atlassian/jira/6/6.4/Dockerfile b/linux/atlassian/jira/6/6.4/Dockerfile new file mode 100644 index 000000000..9d7304645 --- /dev/null +++ b/linux/atlassian/jira/6/6.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk7 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/6/6.4/Makefile b/linux/atlassian/jira/6/6.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/6/6.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/6/6.4/docker-compose.yml b/linux/atlassian/jira/6/6.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/6/6.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/6/6.4/entrypoint.sh b/linux/atlassian/jira/6/6.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/6/6.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/7/7.0.0/.env b/linux/atlassian/jira/7/7.0.0/.env new file mode 100644 index 000000000..a427c2fd6 --- /dev/null +++ b/linux/atlassian/jira/7/7.0.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.0.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.0-jira-7.0.0.tar.gz diff --git a/linux/atlassian/jira/7/7.0.0/Dockerfile b/linux/atlassian/jira/7/7.0.0/Dockerfile index ca8f4b68e..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.0.0/Dockerfile +++ b/linux/atlassian/jira/7/7.0.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.0.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.0.0/Makefile b/linux/atlassian/jira/7/7.0.0/Makefile index be763d410..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.0.0/Makefile +++ b/linux/atlassian/jira/7/7.0.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.0.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.0.0/docker-compose.yml b/linux/atlassian/jira/7/7.0.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.0.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.0.10/.env b/linux/atlassian/jira/7/7.0.10/.env new file mode 100644 index 000000000..da7304fef --- /dev/null +++ b/linux/atlassian/jira/7/7.0.10/.env @@ -0,0 +1,3 @@ + +RELEASE=7.0.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.10-jira-7.0.10.tar.gz diff --git a/linux/atlassian/jira/7/7.0.10/Dockerfile b/linux/atlassian/jira/7/7.0.10/Dockerfile index b9c7daa0c..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.0.10/Dockerfile +++ b/linux/atlassian/jira/7/7.0.10/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.0.10 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.0.10/Makefile b/linux/atlassian/jira/7/7.0.10/Makefile index 0e9be2360..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.0.10/Makefile +++ b/linux/atlassian/jira/7/7.0.10/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.0.10 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.0.10/docker-compose.yml b/linux/atlassian/jira/7/7.0.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.0.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.0.11/.env b/linux/atlassian/jira/7/7.0.11/.env new file mode 100644 index 000000000..163c4d371 --- /dev/null +++ b/linux/atlassian/jira/7/7.0.11/.env @@ -0,0 +1,3 @@ + +RELEASE=7.0.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.11.tar.gz diff --git a/linux/atlassian/jira/7/7.0.11/Dockerfile b/linux/atlassian/jira/7/7.0.11/Dockerfile index 25fa7b74c..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.0.11/Dockerfile +++ b/linux/atlassian/jira/7/7.0.11/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.0.11 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.0.11/Makefile b/linux/atlassian/jira/7/7.0.11/Makefile index e078161b8..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.0.11/Makefile +++ b/linux/atlassian/jira/7/7.0.11/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.0.11 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.0.11/docker-compose.yml b/linux/atlassian/jira/7/7.0.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.0.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.0.2/.env b/linux/atlassian/jira/7/7.0.2/.env new file mode 100644 index 000000000..71f21fe70 --- /dev/null +++ b/linux/atlassian/jira/7/7.0.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.0.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.2-jira-7.0.2.tar.gz diff --git a/linux/atlassian/jira/7/7.0.2/Dockerfile b/linux/atlassian/jira/7/7.0.2/Dockerfile index e26bbba41..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.0.2/Dockerfile +++ b/linux/atlassian/jira/7/7.0.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.0.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.0.2/Makefile b/linux/atlassian/jira/7/7.0.2/Makefile index 257105852..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.0.2/Makefile +++ b/linux/atlassian/jira/7/7.0.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.0.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.0.2/docker-compose.yml b/linux/atlassian/jira/7/7.0.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.0.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.0.4/.env b/linux/atlassian/jira/7/7.0.4/.env new file mode 100644 index 000000000..abfad9d05 --- /dev/null +++ b/linux/atlassian/jira/7/7.0.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.0.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.4-jira-7.0.4.tar.gz diff --git a/linux/atlassian/jira/7/7.0.4/Dockerfile b/linux/atlassian/jira/7/7.0.4/Dockerfile index 92f8d5eb7..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.0.4/Dockerfile +++ b/linux/atlassian/jira/7/7.0.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.0.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.0.4/Makefile b/linux/atlassian/jira/7/7.0.4/Makefile index a03580e31..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.0.4/Makefile +++ b/linux/atlassian/jira/7/7.0.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.0.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.0.4/docker-compose.yml b/linux/atlassian/jira/7/7.0.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.0.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.0.5/.env b/linux/atlassian/jira/7/7.0.5/.env new file mode 100644 index 000000000..98491cbf7 --- /dev/null +++ b/linux/atlassian/jira/7/7.0.5/.env @@ -0,0 +1,3 @@ + +RELEASE=7.0.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.0.5-jira-7.0.5.tar.gz diff --git a/linux/atlassian/jira/7/7.0.5/Dockerfile b/linux/atlassian/jira/7/7.0.5/Dockerfile index f4867fcc8..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.0.5/Dockerfile +++ b/linux/atlassian/jira/7/7.0.5/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.0.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.0.5/Makefile b/linux/atlassian/jira/7/7.0.5/Makefile index cbb7cb153..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.0.5/Makefile +++ b/linux/atlassian/jira/7/7.0.5/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.0.5 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.0.5/docker-compose.yml b/linux/atlassian/jira/7/7.0.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.0.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.0/.env b/linux/atlassian/jira/7/7.1.0/.env new file mode 100644 index 000000000..78136b8b1 --- /dev/null +++ b/linux/atlassian/jira/7/7.1.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.0-jira-7.1.0.tar.gz diff --git a/linux/atlassian/jira/7/7.1.0/Dockerfile b/linux/atlassian/jira/7/7.1.0/Dockerfile index 5190a5edf..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.0/Dockerfile +++ b/linux/atlassian/jira/7/7.1.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.0/Makefile b/linux/atlassian/jira/7/7.1.0/Makefile index 1c6bc6751..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.0/Makefile +++ b/linux/atlassian/jira/7/7.1.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.0/docker-compose.yml b/linux/atlassian/jira/7/7.1.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.1/.env b/linux/atlassian/jira/7/7.1.1/.env new file mode 100644 index 000000000..cb96db584 --- /dev/null +++ b/linux/atlassian/jira/7/7.1.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.1-jira-7.1.1.tar.gz diff --git a/linux/atlassian/jira/7/7.1.1/Dockerfile b/linux/atlassian/jira/7/7.1.1/Dockerfile index 528898b27..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.1/Dockerfile +++ b/linux/atlassian/jira/7/7.1.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.1/Makefile b/linux/atlassian/jira/7/7.1.1/Makefile index 2bcd8ce3b..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.1/Makefile +++ b/linux/atlassian/jira/7/7.1.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.1/docker-compose.yml b/linux/atlassian/jira/7/7.1.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.10/.env b/linux/atlassian/jira/7/7.1.10/.env new file mode 100644 index 000000000..572236ebe --- /dev/null +++ b/linux/atlassian/jira/7/7.1.10/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.10.tar.gz diff --git a/linux/atlassian/jira/7/7.1.10/Dockerfile b/linux/atlassian/jira/7/7.1.10/Dockerfile index f4a4d282d..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.10/Dockerfile +++ b/linux/atlassian/jira/7/7.1.10/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.10 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.10/Makefile b/linux/atlassian/jira/7/7.1.10/Makefile index 620d5a603..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.10/Makefile +++ b/linux/atlassian/jira/7/7.1.10/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.10 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.10/docker-compose.yml b/linux/atlassian/jira/7/7.1.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.2/.env b/linux/atlassian/jira/7/7.1.2/.env new file mode 100644 index 000000000..c0ccd1af5 --- /dev/null +++ b/linux/atlassian/jira/7/7.1.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.2-jira-7.1.2.tar.gz diff --git a/linux/atlassian/jira/7/7.1.2/Dockerfile b/linux/atlassian/jira/7/7.1.2/Dockerfile index ba19c9e0a..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.2/Dockerfile +++ b/linux/atlassian/jira/7/7.1.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.2/Makefile b/linux/atlassian/jira/7/7.1.2/Makefile index c2f355e7e..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.2/Makefile +++ b/linux/atlassian/jira/7/7.1.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.2/docker-compose.yml b/linux/atlassian/jira/7/7.1.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.4/.env b/linux/atlassian/jira/7/7.1.4/.env new file mode 100644 index 000000000..8f45920b2 --- /dev/null +++ b/linux/atlassian/jira/7/7.1.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.4-jira-7.1.4.tar.gz diff --git a/linux/atlassian/jira/7/7.1.4/Dockerfile b/linux/atlassian/jira/7/7.1.4/Dockerfile index 4f80056f7..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.4/Dockerfile +++ b/linux/atlassian/jira/7/7.1.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.4/Makefile b/linux/atlassian/jira/7/7.1.4/Makefile index f5bd527a8..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.4/Makefile +++ b/linux/atlassian/jira/7/7.1.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.4/docker-compose.yml b/linux/atlassian/jira/7/7.1.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.6/.env b/linux/atlassian/jira/7/7.1.6/.env new file mode 100644 index 000000000..69298176f --- /dev/null +++ b/linux/atlassian/jira/7/7.1.6/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.6-jira-7.1.6.tar.gz diff --git a/linux/atlassian/jira/7/7.1.6/Dockerfile b/linux/atlassian/jira/7/7.1.6/Dockerfile index 4bb4b598f..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.6/Dockerfile +++ b/linux/atlassian/jira/7/7.1.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.6/Makefile b/linux/atlassian/jira/7/7.1.6/Makefile index dcc53b272..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.6/Makefile +++ b/linux/atlassian/jira/7/7.1.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.6/docker-compose.yml b/linux/atlassian/jira/7/7.1.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.7/.env b/linux/atlassian/jira/7/7.1.7/.env new file mode 100644 index 000000000..47c1b54f0 --- /dev/null +++ b/linux/atlassian/jira/7/7.1.7/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.7-jira-7.1.7.tar.gz diff --git a/linux/atlassian/jira/7/7.1.7/Dockerfile b/linux/atlassian/jira/7/7.1.7/Dockerfile index 98d602ad2..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.7/Dockerfile +++ b/linux/atlassian/jira/7/7.1.7/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.7 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.7/Makefile b/linux/atlassian/jira/7/7.1.7/Makefile index 0150406ad..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.7/Makefile +++ b/linux/atlassian/jira/7/7.1.7/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.7 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.7/docker-compose.yml b/linux/atlassian/jira/7/7.1.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.8/.env b/linux/atlassian/jira/7/7.1.8/.env new file mode 100644 index 000000000..e9fcfa9c3 --- /dev/null +++ b/linux/atlassian/jira/7/7.1.8/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.8-jira-7.1.8.tar.gz diff --git a/linux/atlassian/jira/7/7.1.8/Dockerfile b/linux/atlassian/jira/7/7.1.8/Dockerfile index bac2351d8..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.8/Dockerfile +++ b/linux/atlassian/jira/7/7.1.8/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.8 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}-jira-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.8/Makefile b/linux/atlassian/jira/7/7.1.8/Makefile index a3c7f5c89..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.8/Makefile +++ b/linux/atlassian/jira/7/7.1.8/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.8 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.8/docker-compose.yml b/linux/atlassian/jira/7/7.1.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.1.9/.env b/linux/atlassian/jira/7/7.1.9/.env new file mode 100644 index 000000000..85beec67a --- /dev/null +++ b/linux/atlassian/jira/7/7.1.9/.env @@ -0,0 +1,3 @@ + +RELEASE=7.1.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.1.9.tar.gz diff --git a/linux/atlassian/jira/7/7.1.9/Dockerfile b/linux/atlassian/jira/7/7.1.9/Dockerfile index cfdfbd6e2..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.1.9/Dockerfile +++ b/linux/atlassian/jira/7/7.1.9/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.1.9 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.1.9/Makefile b/linux/atlassian/jira/7/7.1.9/Makefile index 410dc7fe5..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.1.9/Makefile +++ b/linux/atlassian/jira/7/7.1.9/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.1.9 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.1.9/docker-compose.yml b/linux/atlassian/jira/7/7.1.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.1.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.10.0/.env b/linux/atlassian/jira/7/7.10.0/.env new file mode 100644 index 000000000..6a6819366 --- /dev/null +++ b/linux/atlassian/jira/7/7.10.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.10.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.10.0.tar.gz diff --git a/linux/atlassian/jira/7/7.10.0/Dockerfile b/linux/atlassian/jira/7/7.10.0/Dockerfile index a0f302de7..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.10.0/Dockerfile +++ b/linux/atlassian/jira/7/7.10.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.10.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.10.0/Makefile b/linux/atlassian/jira/7/7.10.0/Makefile index 1b52be659..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.10.0/Makefile +++ b/linux/atlassian/jira/7/7.10.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.10.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.10.0/docker-compose.yml b/linux/atlassian/jira/7/7.10.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.10.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.10.1/.env b/linux/atlassian/jira/7/7.10.1/.env new file mode 100644 index 000000000..995fb73ff --- /dev/null +++ b/linux/atlassian/jira/7/7.10.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.10.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.10.1.tar.gz diff --git a/linux/atlassian/jira/7/7.10.1/Dockerfile b/linux/atlassian/jira/7/7.10.1/Dockerfile index 6e545a8a8..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.10.1/Dockerfile +++ b/linux/atlassian/jira/7/7.10.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.10.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.10.1/Makefile b/linux/atlassian/jira/7/7.10.1/Makefile index d9af21890..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.10.1/Makefile +++ b/linux/atlassian/jira/7/7.10.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.10.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.10.1/docker-compose.yml b/linux/atlassian/jira/7/7.10.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.10.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.10.2/.env b/linux/atlassian/jira/7/7.10.2/.env new file mode 100644 index 000000000..57b595c8e --- /dev/null +++ b/linux/atlassian/jira/7/7.10.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.10.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.10.2.tar.gz diff --git a/linux/atlassian/jira/7/7.10.2/Dockerfile b/linux/atlassian/jira/7/7.10.2/Dockerfile index 5a0561f1c..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.10.2/Dockerfile +++ b/linux/atlassian/jira/7/7.10.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.10.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.10.2/Makefile b/linux/atlassian/jira/7/7.10.2/Makefile index a38c01ee4..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.10.2/Makefile +++ b/linux/atlassian/jira/7/7.10.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.10.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.10.2/docker-compose.yml b/linux/atlassian/jira/7/7.10.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.10.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.11.0/.env b/linux/atlassian/jira/7/7.11.0/.env new file mode 100644 index 000000000..e2664eb16 --- /dev/null +++ b/linux/atlassian/jira/7/7.11.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.11.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.11.0.tar.gz diff --git a/linux/atlassian/jira/7/7.11.0/Dockerfile b/linux/atlassian/jira/7/7.11.0/Dockerfile index a2195559b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.11.0/Dockerfile +++ b/linux/atlassian/jira/7/7.11.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.11.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.11.0/Makefile b/linux/atlassian/jira/7/7.11.0/Makefile index 8696c89ba..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.11.0/Makefile +++ b/linux/atlassian/jira/7/7.11.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.11.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.11.0/docker-compose.yml b/linux/atlassian/jira/7/7.11.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.11.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.11.1/.env b/linux/atlassian/jira/7/7.11.1/.env new file mode 100644 index 000000000..f18c39cf1 --- /dev/null +++ b/linux/atlassian/jira/7/7.11.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.11.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.11.1.tar.gz diff --git a/linux/atlassian/jira/7/7.11.1/Dockerfile b/linux/atlassian/jira/7/7.11.1/Dockerfile index ea24c559d..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.11.1/Dockerfile +++ b/linux/atlassian/jira/7/7.11.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.11.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.11.1/Makefile b/linux/atlassian/jira/7/7.11.1/Makefile index 5b3888458..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.11.1/Makefile +++ b/linux/atlassian/jira/7/7.11.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.11.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.11.1/docker-compose.yml b/linux/atlassian/jira/7/7.11.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.11.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.11.2/.env b/linux/atlassian/jira/7/7.11.2/.env new file mode 100644 index 000000000..e6cfc58ca --- /dev/null +++ b/linux/atlassian/jira/7/7.11.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.11.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.11.2.tar.gz diff --git a/linux/atlassian/jira/7/7.11.2/Dockerfile b/linux/atlassian/jira/7/7.11.2/Dockerfile index a4a924426..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.11.2/Dockerfile +++ b/linux/atlassian/jira/7/7.11.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.11.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.11.2/Makefile b/linux/atlassian/jira/7/7.11.2/Makefile index 7cad5e911..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.11.2/Makefile +++ b/linux/atlassian/jira/7/7.11.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.11.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.11.2/docker-compose.yml b/linux/atlassian/jira/7/7.11.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.11.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.12.0/.env b/linux/atlassian/jira/7/7.12.0/.env new file mode 100644 index 000000000..b23fa9861 --- /dev/null +++ b/linux/atlassian/jira/7/7.12.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.12.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.12.0.tar.gz diff --git a/linux/atlassian/jira/7/7.12.0/Dockerfile b/linux/atlassian/jira/7/7.12.0/Dockerfile index 2befbc48f..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.12.0/Dockerfile +++ b/linux/atlassian/jira/7/7.12.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.12.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.12.0/Makefile b/linux/atlassian/jira/7/7.12.0/Makefile index ca46ace4c..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.12.0/Makefile +++ b/linux/atlassian/jira/7/7.12.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.12.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.12.0/docker-compose.yml b/linux/atlassian/jira/7/7.12.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.12.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.12.1/.env b/linux/atlassian/jira/7/7.12.1/.env new file mode 100644 index 000000000..c076dcc3a --- /dev/null +++ b/linux/atlassian/jira/7/7.12.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.12.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.12.1.tar.gz diff --git a/linux/atlassian/jira/7/7.12.1/Dockerfile b/linux/atlassian/jira/7/7.12.1/Dockerfile index cbe320063..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.12.1/Dockerfile +++ b/linux/atlassian/jira/7/7.12.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.12.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.12.1/Makefile b/linux/atlassian/jira/7/7.12.1/Makefile index c86569ef5..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.12.1/Makefile +++ b/linux/atlassian/jira/7/7.12.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.12.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.12.1/docker-compose.yml b/linux/atlassian/jira/7/7.12.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.12.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.12.3/.env b/linux/atlassian/jira/7/7.12.3/.env new file mode 100644 index 000000000..1dce863ee --- /dev/null +++ b/linux/atlassian/jira/7/7.12.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.12.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.12.3.tar.gz diff --git a/linux/atlassian/jira/7/7.12.3/Dockerfile b/linux/atlassian/jira/7/7.12.3/Dockerfile index ff5c9a997..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.12.3/Dockerfile +++ b/linux/atlassian/jira/7/7.12.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.12.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.12.3/Makefile b/linux/atlassian/jira/7/7.12.3/Makefile index 5485c4f70..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.12.3/Makefile +++ b/linux/atlassian/jira/7/7.12.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.12.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.12.3/docker-compose.yml b/linux/atlassian/jira/7/7.12.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.12.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.0/.env b/linux/atlassian/jira/7/7.13.0/.env new file mode 100644 index 000000000..fd36990fc --- /dev/null +++ b/linux/atlassian/jira/7/7.13.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.0.tar.gz diff --git a/linux/atlassian/jira/7/7.13.0/Dockerfile b/linux/atlassian/jira/7/7.13.0/Dockerfile index 32d673841..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.0/Dockerfile +++ b/linux/atlassian/jira/7/7.13.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.0/Makefile b/linux/atlassian/jira/7/7.13.0/Makefile index 5da2c7963..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.0/Makefile +++ b/linux/atlassian/jira/7/7.13.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.0/docker-compose.yml b/linux/atlassian/jira/7/7.13.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.1/.env b/linux/atlassian/jira/7/7.13.1/.env new file mode 100644 index 000000000..cf0f958f7 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.1.tar.gz diff --git a/linux/atlassian/jira/7/7.13.1/Dockerfile b/linux/atlassian/jira/7/7.13.1/Dockerfile index 4f1c76cb7..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.1/Dockerfile +++ b/linux/atlassian/jira/7/7.13.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.1/Makefile b/linux/atlassian/jira/7/7.13.1/Makefile index e37e2b35c..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.1/Makefile +++ b/linux/atlassian/jira/7/7.13.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.1/docker-compose.yml b/linux/atlassian/jira/7/7.13.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.11/.env b/linux/atlassian/jira/7/7.13.11/.env new file mode 100644 index 000000000..46d2ff6b8 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.11/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.11.tar.gz diff --git a/linux/atlassian/jira/7/7.13.11/Dockerfile b/linux/atlassian/jira/7/7.13.11/Dockerfile index 6a1bbc847..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.11/Dockerfile +++ b/linux/atlassian/jira/7/7.13.11/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.11 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.11/Makefile b/linux/atlassian/jira/7/7.13.11/Makefile index 50d0d2038..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.11/Makefile +++ b/linux/atlassian/jira/7/7.13.11/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.11 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.11/docker-compose.yml b/linux/atlassian/jira/7/7.13.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.12/.env b/linux/atlassian/jira/7/7.13.12/.env new file mode 100644 index 000000000..694512abe --- /dev/null +++ b/linux/atlassian/jira/7/7.13.12/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.12.tar.gz diff --git a/linux/atlassian/jira/7/7.13.12/Dockerfile b/linux/atlassian/jira/7/7.13.12/Dockerfile index fd4d355b0..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.12/Dockerfile +++ b/linux/atlassian/jira/7/7.13.12/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.12 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.12/Makefile b/linux/atlassian/jira/7/7.13.12/Makefile index 06bff7677..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.12/Makefile +++ b/linux/atlassian/jira/7/7.13.12/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.12 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.12/docker-compose.yml b/linux/atlassian/jira/7/7.13.12/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.12/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.13/.env b/linux/atlassian/jira/7/7.13.13/.env new file mode 100644 index 000000000..9308909c6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.13/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.13 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.13.tar.gz diff --git a/linux/atlassian/jira/7/7.13.13/Dockerfile b/linux/atlassian/jira/7/7.13.13/Dockerfile index 888920983..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.13/Dockerfile +++ b/linux/atlassian/jira/7/7.13.13/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.13 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.13/Makefile b/linux/atlassian/jira/7/7.13.13/Makefile index bb550c00d..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.13/Makefile +++ b/linux/atlassian/jira/7/7.13.13/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.13 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.13/docker-compose.yml b/linux/atlassian/jira/7/7.13.13/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.13/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.14/.env b/linux/atlassian/jira/7/7.13.14/.env new file mode 100644 index 000000000..aa9ef6876 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.14/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.14 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.14.tar.gz diff --git a/linux/atlassian/jira/7/7.13.14/Dockerfile b/linux/atlassian/jira/7/7.13.14/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.14/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/7/7.13.14/Makefile b/linux/atlassian/jira/7/7.13.14/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.14/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.14/docker-compose.yml b/linux/atlassian/jira/7/7.13.14/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.14/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.14/entrypoint.sh b/linux/atlassian/jira/7/7.13.14/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.14/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/7/7.13.15/.env b/linux/atlassian/jira/7/7.13.15/.env new file mode 100644 index 000000000..013f6772f --- /dev/null +++ b/linux/atlassian/jira/7/7.13.15/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.15 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.15.tar.gz diff --git a/linux/atlassian/jira/7/7.13.15/Dockerfile b/linux/atlassian/jira/7/7.13.15/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.15/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/7/7.13.15/Makefile b/linux/atlassian/jira/7/7.13.15/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.15/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.15/docker-compose.yml b/linux/atlassian/jira/7/7.13.15/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.15/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.15/entrypoint.sh b/linux/atlassian/jira/7/7.13.15/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.15/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/7/7.13.16/.env b/linux/atlassian/jira/7/7.13.16/.env new file mode 100644 index 000000000..2070f85b4 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.16/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.16 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.16.tar.gz diff --git a/linux/atlassian/jira/7/7.13.16/Dockerfile b/linux/atlassian/jira/7/7.13.16/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.16/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/7/7.13.16/Makefile b/linux/atlassian/jira/7/7.13.16/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.16/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.16/docker-compose.yml b/linux/atlassian/jira/7/7.13.16/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.16/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.16/entrypoint.sh b/linux/atlassian/jira/7/7.13.16/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.16/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/7/7.13.17/.env b/linux/atlassian/jira/7/7.13.17/.env new file mode 100644 index 000000000..331ba08d4 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.17/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.17 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.17.tar.gz diff --git a/linux/atlassian/jira/7/7.13.17/Dockerfile b/linux/atlassian/jira/7/7.13.17/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.17/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/7/7.13.17/Makefile b/linux/atlassian/jira/7/7.13.17/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.17/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.17/docker-compose.yml b/linux/atlassian/jira/7/7.13.17/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.17/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.17/entrypoint.sh b/linux/atlassian/jira/7/7.13.17/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.17/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/7/7.13.18/.env b/linux/atlassian/jira/7/7.13.18/.env new file mode 100644 index 000000000..8acdd42c3 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.18/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.18 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.18.tar.gz diff --git a/linux/atlassian/jira/7/7.13.18/Dockerfile b/linux/atlassian/jira/7/7.13.18/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.18/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/7/7.13.18/Makefile b/linux/atlassian/jira/7/7.13.18/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.18/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.18/docker-compose.yml b/linux/atlassian/jira/7/7.13.18/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.18/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.18/entrypoint.sh b/linux/atlassian/jira/7/7.13.18/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.18/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/7/7.13.2/.env b/linux/atlassian/jira/7/7.13.2/.env new file mode 100644 index 000000000..6aa40c1d6 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.2.tar.gz diff --git a/linux/atlassian/jira/7/7.13.2/Dockerfile b/linux/atlassian/jira/7/7.13.2/Dockerfile index 61675251c..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.2/Dockerfile +++ b/linux/atlassian/jira/7/7.13.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.2/Makefile b/linux/atlassian/jira/7/7.13.2/Makefile index 1ca44fd6d..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.2/Makefile +++ b/linux/atlassian/jira/7/7.13.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.2/docker-compose.yml b/linux/atlassian/jira/7/7.13.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.3/.env b/linux/atlassian/jira/7/7.13.3/.env new file mode 100644 index 000000000..82be0f831 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.3.tar.gz diff --git a/linux/atlassian/jira/7/7.13.3/Dockerfile b/linux/atlassian/jira/7/7.13.3/Dockerfile index 3bb690fbe..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.3/Dockerfile +++ b/linux/atlassian/jira/7/7.13.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.3/Makefile b/linux/atlassian/jira/7/7.13.3/Makefile index f98ce31c2..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.3/Makefile +++ b/linux/atlassian/jira/7/7.13.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.3/docker-compose.yml b/linux/atlassian/jira/7/7.13.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.4/.env b/linux/atlassian/jira/7/7.13.4/.env new file mode 100644 index 000000000..ba50e8fd0 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.4.tar.gz diff --git a/linux/atlassian/jira/7/7.13.4/Dockerfile b/linux/atlassian/jira/7/7.13.4/Dockerfile index 7990267e9..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.4/Dockerfile +++ b/linux/atlassian/jira/7/7.13.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.4/Makefile b/linux/atlassian/jira/7/7.13.4/Makefile index 3003fd4f8..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.4/Makefile +++ b/linux/atlassian/jira/7/7.13.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.4/docker-compose.yml b/linux/atlassian/jira/7/7.13.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.5/.env b/linux/atlassian/jira/7/7.13.5/.env new file mode 100644 index 000000000..61aafd052 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.5/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.5.tar.gz diff --git a/linux/atlassian/jira/7/7.13.5/Dockerfile b/linux/atlassian/jira/7/7.13.5/Dockerfile index 9dc0928e3..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.5/Dockerfile +++ b/linux/atlassian/jira/7/7.13.5/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.5/Makefile b/linux/atlassian/jira/7/7.13.5/Makefile index 6b0b5d4fa..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.5/Makefile +++ b/linux/atlassian/jira/7/7.13.5/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.5 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.5/docker-compose.yml b/linux/atlassian/jira/7/7.13.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.6/.env b/linux/atlassian/jira/7/7.13.6/.env new file mode 100644 index 000000000..3b09a74ca --- /dev/null +++ b/linux/atlassian/jira/7/7.13.6/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.6.tar.gz diff --git a/linux/atlassian/jira/7/7.13.6/Dockerfile b/linux/atlassian/jira/7/7.13.6/Dockerfile index dfd1d9712..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.6/Dockerfile +++ b/linux/atlassian/jira/7/7.13.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.6/Makefile b/linux/atlassian/jira/7/7.13.6/Makefile index 5426e1914..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.6/Makefile +++ b/linux/atlassian/jira/7/7.13.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.6/docker-compose.yml b/linux/atlassian/jira/7/7.13.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.8/.env b/linux/atlassian/jira/7/7.13.8/.env new file mode 100644 index 000000000..13875b716 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.8/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.8.tar.gz diff --git a/linux/atlassian/jira/7/7.13.8/Dockerfile b/linux/atlassian/jira/7/7.13.8/Dockerfile index e19343579..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.8/Dockerfile +++ b/linux/atlassian/jira/7/7.13.8/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.8 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.8/Makefile b/linux/atlassian/jira/7/7.13.8/Makefile index cd67bf905..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.8/Makefile +++ b/linux/atlassian/jira/7/7.13.8/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.8 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.8/docker-compose.yml b/linux/atlassian/jira/7/7.13.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.13.9/.env b/linux/atlassian/jira/7/7.13.9/.env new file mode 100644 index 000000000..70b1d4b62 --- /dev/null +++ b/linux/atlassian/jira/7/7.13.9/.env @@ -0,0 +1,3 @@ + +RELEASE=7.13.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.13.9.tar.gz diff --git a/linux/atlassian/jira/7/7.13.9/Dockerfile b/linux/atlassian/jira/7/7.13.9/Dockerfile index 3efaa8d12..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.13.9/Dockerfile +++ b/linux/atlassian/jira/7/7.13.9/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.13.9 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.13.9/Makefile b/linux/atlassian/jira/7/7.13.9/Makefile index a9edcba91..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.13.9/Makefile +++ b/linux/atlassian/jira/7/7.13.9/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.13.9 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.13.9/docker-compose.yml b/linux/atlassian/jira/7/7.13.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.13.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.0/.env b/linux/atlassian/jira/7/7.2.0/.env new file mode 100644 index 000000000..d8a03571d --- /dev/null +++ b/linux/atlassian/jira/7/7.2.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.0.tar.gz diff --git a/linux/atlassian/jira/7/7.2.0/Dockerfile b/linux/atlassian/jira/7/7.2.0/Dockerfile index b844d0cf7..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.0/Dockerfile +++ b/linux/atlassian/jira/7/7.2.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.0/Makefile b/linux/atlassian/jira/7/7.2.0/Makefile index 674b0183f..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.0/Makefile +++ b/linux/atlassian/jira/7/7.2.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.0/docker-compose.yml b/linux/atlassian/jira/7/7.2.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.1/.env b/linux/atlassian/jira/7/7.2.1/.env new file mode 100644 index 000000000..64e63bdeb --- /dev/null +++ b/linux/atlassian/jira/7/7.2.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.1.tar.gz diff --git a/linux/atlassian/jira/7/7.2.1/Dockerfile b/linux/atlassian/jira/7/7.2.1/Dockerfile index baed8a983..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.1/Dockerfile +++ b/linux/atlassian/jira/7/7.2.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.1/Makefile b/linux/atlassian/jira/7/7.2.1/Makefile index 142b75e00..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.1/Makefile +++ b/linux/atlassian/jira/7/7.2.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.1/docker-compose.yml b/linux/atlassian/jira/7/7.2.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.10/.env b/linux/atlassian/jira/7/7.2.10/.env new file mode 100644 index 000000000..1a1159a44 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.10/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.10.tar.gz diff --git a/linux/atlassian/jira/7/7.2.10/Dockerfile b/linux/atlassian/jira/7/7.2.10/Dockerfile index ddd5a4b6b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.10/Dockerfile +++ b/linux/atlassian/jira/7/7.2.10/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.10 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.10/Makefile b/linux/atlassian/jira/7/7.2.10/Makefile index fefd3058f..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.10/Makefile +++ b/linux/atlassian/jira/7/7.2.10/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.10 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.10/docker-compose.yml b/linux/atlassian/jira/7/7.2.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.11/.env b/linux/atlassian/jira/7/7.2.11/.env new file mode 100644 index 000000000..1d62b23f6 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.11/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.11.tar.gz diff --git a/linux/atlassian/jira/7/7.2.11/Dockerfile b/linux/atlassian/jira/7/7.2.11/Dockerfile index e6d17c901..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.11/Dockerfile +++ b/linux/atlassian/jira/7/7.2.11/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.11 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.11/Makefile b/linux/atlassian/jira/7/7.2.11/Makefile index 23967cd19..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.11/Makefile +++ b/linux/atlassian/jira/7/7.2.11/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.11 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.11/docker-compose.yml b/linux/atlassian/jira/7/7.2.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.12/.env b/linux/atlassian/jira/7/7.2.12/.env new file mode 100644 index 000000000..ea9cd4ff2 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.12/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.12.tar.gz diff --git a/linux/atlassian/jira/7/7.2.12/Dockerfile b/linux/atlassian/jira/7/7.2.12/Dockerfile index 35b9499ce..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.12/Dockerfile +++ b/linux/atlassian/jira/7/7.2.12/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.12 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.12/Makefile b/linux/atlassian/jira/7/7.2.12/Makefile index 1b26f82bb..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.12/Makefile +++ b/linux/atlassian/jira/7/7.2.12/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.12 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.12/docker-compose.yml b/linux/atlassian/jira/7/7.2.12/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.12/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.13/.env b/linux/atlassian/jira/7/7.2.13/.env new file mode 100644 index 000000000..6851485d7 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.13/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.13 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.13.tar.gz diff --git a/linux/atlassian/jira/7/7.2.13/Dockerfile b/linux/atlassian/jira/7/7.2.13/Dockerfile index 45912f43a..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.13/Dockerfile +++ b/linux/atlassian/jira/7/7.2.13/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.13 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.13/Makefile b/linux/atlassian/jira/7/7.2.13/Makefile index 233a12b8e..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.13/Makefile +++ b/linux/atlassian/jira/7/7.2.13/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.13 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.13/docker-compose.yml b/linux/atlassian/jira/7/7.2.13/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.13/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.14/.env b/linux/atlassian/jira/7/7.2.14/.env new file mode 100644 index 000000000..67a8e9316 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.14/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.14 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.14.tar.gz diff --git a/linux/atlassian/jira/7/7.2.14/Dockerfile b/linux/atlassian/jira/7/7.2.14/Dockerfile index daf88ce43..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.14/Dockerfile +++ b/linux/atlassian/jira/7/7.2.14/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.14 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.14/Makefile b/linux/atlassian/jira/7/7.2.14/Makefile index 460be90f3..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.14/Makefile +++ b/linux/atlassian/jira/7/7.2.14/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.14 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.14/docker-compose.yml b/linux/atlassian/jira/7/7.2.14/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.14/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.15/.env b/linux/atlassian/jira/7/7.2.15/.env new file mode 100644 index 000000000..94a32b914 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.15/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.15 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.15.tar.gz diff --git a/linux/atlassian/jira/7/7.2.15/Dockerfile b/linux/atlassian/jira/7/7.2.15/Dockerfile index 6a029423e..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.15/Dockerfile +++ b/linux/atlassian/jira/7/7.2.15/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.15 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.15/Makefile b/linux/atlassian/jira/7/7.2.15/Makefile index b1a683876..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.15/Makefile +++ b/linux/atlassian/jira/7/7.2.15/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.15 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.15/docker-compose.yml b/linux/atlassian/jira/7/7.2.15/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.15/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.2/.env b/linux/atlassian/jira/7/7.2.2/.env new file mode 100644 index 000000000..e33263206 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.2.tar.gz diff --git a/linux/atlassian/jira/7/7.2.2/Dockerfile b/linux/atlassian/jira/7/7.2.2/Dockerfile index fd0548d1a..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.2/Dockerfile +++ b/linux/atlassian/jira/7/7.2.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.2/Makefile b/linux/atlassian/jira/7/7.2.2/Makefile index 3d16590aa..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.2/Makefile +++ b/linux/atlassian/jira/7/7.2.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.2/docker-compose.yml b/linux/atlassian/jira/7/7.2.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.3/.env b/linux/atlassian/jira/7/7.2.3/.env new file mode 100644 index 000000000..e2b285c89 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.3.tar.gz diff --git a/linux/atlassian/jira/7/7.2.3/Dockerfile b/linux/atlassian/jira/7/7.2.3/Dockerfile index 3de5f002e..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.3/Dockerfile +++ b/linux/atlassian/jira/7/7.2.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.3/Makefile b/linux/atlassian/jira/7/7.2.3/Makefile index a71c4c82a..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.3/Makefile +++ b/linux/atlassian/jira/7/7.2.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.3/docker-compose.yml b/linux/atlassian/jira/7/7.2.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.4/.env b/linux/atlassian/jira/7/7.2.4/.env new file mode 100644 index 000000000..b34aabd6a --- /dev/null +++ b/linux/atlassian/jira/7/7.2.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.4.tar.gz diff --git a/linux/atlassian/jira/7/7.2.4/Dockerfile b/linux/atlassian/jira/7/7.2.4/Dockerfile index 0306f95d6..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.4/Dockerfile +++ b/linux/atlassian/jira/7/7.2.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.4/Makefile b/linux/atlassian/jira/7/7.2.4/Makefile index 6c92ba06f..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.4/Makefile +++ b/linux/atlassian/jira/7/7.2.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.4/docker-compose.yml b/linux/atlassian/jira/7/7.2.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.6/.env b/linux/atlassian/jira/7/7.2.6/.env new file mode 100644 index 000000000..8b169462f --- /dev/null +++ b/linux/atlassian/jira/7/7.2.6/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.6.tar.gz diff --git a/linux/atlassian/jira/7/7.2.6/Dockerfile b/linux/atlassian/jira/7/7.2.6/Dockerfile index c61c921c9..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.6/Dockerfile +++ b/linux/atlassian/jira/7/7.2.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.6/Makefile b/linux/atlassian/jira/7/7.2.6/Makefile index 6b4deb64c..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.6/Makefile +++ b/linux/atlassian/jira/7/7.2.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.6/docker-compose.yml b/linux/atlassian/jira/7/7.2.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.7/.env b/linux/atlassian/jira/7/7.2.7/.env new file mode 100644 index 000000000..a773ec8c9 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.7/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.7.tar.gz diff --git a/linux/atlassian/jira/7/7.2.7/Dockerfile b/linux/atlassian/jira/7/7.2.7/Dockerfile index 2ce57a56e..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.7/Dockerfile +++ b/linux/atlassian/jira/7/7.2.7/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.7 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.7/Makefile b/linux/atlassian/jira/7/7.2.7/Makefile index da51141eb..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.7/Makefile +++ b/linux/atlassian/jira/7/7.2.7/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.7 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.7/docker-compose.yml b/linux/atlassian/jira/7/7.2.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.8/.env b/linux/atlassian/jira/7/7.2.8/.env new file mode 100644 index 000000000..4d59c038a --- /dev/null +++ b/linux/atlassian/jira/7/7.2.8/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.8.tar.gz diff --git a/linux/atlassian/jira/7/7.2.8/Dockerfile b/linux/atlassian/jira/7/7.2.8/Dockerfile index 8aa726749..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.8/Dockerfile +++ b/linux/atlassian/jira/7/7.2.8/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.8 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.8/Makefile b/linux/atlassian/jira/7/7.2.8/Makefile index d519af2b2..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.8/Makefile +++ b/linux/atlassian/jira/7/7.2.8/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.8 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.8/docker-compose.yml b/linux/atlassian/jira/7/7.2.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.2.9/.env b/linux/atlassian/jira/7/7.2.9/.env new file mode 100644 index 000000000..3c983ba88 --- /dev/null +++ b/linux/atlassian/jira/7/7.2.9/.env @@ -0,0 +1,3 @@ + +RELEASE=7.2.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.2.9.tar.gz diff --git a/linux/atlassian/jira/7/7.2.9/Dockerfile b/linux/atlassian/jira/7/7.2.9/Dockerfile index a29c871e2..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.2.9/Dockerfile +++ b/linux/atlassian/jira/7/7.2.9/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.2.9 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.2.9/Makefile b/linux/atlassian/jira/7/7.2.9/Makefile index 51087c069..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.2.9/Makefile +++ b/linux/atlassian/jira/7/7.2.9/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.2.9 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.2.9/docker-compose.yml b/linux/atlassian/jira/7/7.2.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.2.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.0/.env b/linux/atlassian/jira/7/7.3.0/.env new file mode 100644 index 000000000..2056a5abb --- /dev/null +++ b/linux/atlassian/jira/7/7.3.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.0.tar.gz diff --git a/linux/atlassian/jira/7/7.3.0/Dockerfile b/linux/atlassian/jira/7/7.3.0/Dockerfile index 75be7bce6..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.0/Dockerfile +++ b/linux/atlassian/jira/7/7.3.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.0/Makefile b/linux/atlassian/jira/7/7.3.0/Makefile index b744b32be..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.0/Makefile +++ b/linux/atlassian/jira/7/7.3.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.0/docker-compose.yml b/linux/atlassian/jira/7/7.3.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.1/.env b/linux/atlassian/jira/7/7.3.1/.env new file mode 100644 index 000000000..658f497ce --- /dev/null +++ b/linux/atlassian/jira/7/7.3.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.1.tar.gz diff --git a/linux/atlassian/jira/7/7.3.1/Dockerfile b/linux/atlassian/jira/7/7.3.1/Dockerfile index 85f4595c1..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.1/Dockerfile +++ b/linux/atlassian/jira/7/7.3.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.1/Makefile b/linux/atlassian/jira/7/7.3.1/Makefile index e6ca9757f..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.1/Makefile +++ b/linux/atlassian/jira/7/7.3.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.1/docker-compose.yml b/linux/atlassian/jira/7/7.3.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.2/.env b/linux/atlassian/jira/7/7.3.2/.env new file mode 100644 index 000000000..c6a3ef0ad --- /dev/null +++ b/linux/atlassian/jira/7/7.3.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.2.tar.gz diff --git a/linux/atlassian/jira/7/7.3.2/Dockerfile b/linux/atlassian/jira/7/7.3.2/Dockerfile index ee39f3bfa..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.2/Dockerfile +++ b/linux/atlassian/jira/7/7.3.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.2/Makefile b/linux/atlassian/jira/7/7.3.2/Makefile index f19a88679..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.2/Makefile +++ b/linux/atlassian/jira/7/7.3.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.2/docker-compose.yml b/linux/atlassian/jira/7/7.3.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.3/.env b/linux/atlassian/jira/7/7.3.3/.env new file mode 100644 index 000000000..3402d9ecd --- /dev/null +++ b/linux/atlassian/jira/7/7.3.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.3.tar.gz diff --git a/linux/atlassian/jira/7/7.3.3/Dockerfile b/linux/atlassian/jira/7/7.3.3/Dockerfile index 193a929ba..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.3/Dockerfile +++ b/linux/atlassian/jira/7/7.3.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.3/Makefile b/linux/atlassian/jira/7/7.3.3/Makefile index 5656105a5..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.3/Makefile +++ b/linux/atlassian/jira/7/7.3.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.3/docker-compose.yml b/linux/atlassian/jira/7/7.3.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.4/.env b/linux/atlassian/jira/7/7.3.4/.env new file mode 100644 index 000000000..18c3f110f --- /dev/null +++ b/linux/atlassian/jira/7/7.3.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.4.tar.gz diff --git a/linux/atlassian/jira/7/7.3.4/Dockerfile b/linux/atlassian/jira/7/7.3.4/Dockerfile index 268661f8f..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.4/Dockerfile +++ b/linux/atlassian/jira/7/7.3.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.4/Makefile b/linux/atlassian/jira/7/7.3.4/Makefile index 45256309c..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.4/Makefile +++ b/linux/atlassian/jira/7/7.3.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.4/docker-compose.yml b/linux/atlassian/jira/7/7.3.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.5/.env b/linux/atlassian/jira/7/7.3.5/.env new file mode 100644 index 000000000..913fd8886 --- /dev/null +++ b/linux/atlassian/jira/7/7.3.5/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.5.tar.gz diff --git a/linux/atlassian/jira/7/7.3.5/Dockerfile b/linux/atlassian/jira/7/7.3.5/Dockerfile index dcbabee74..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.5/Dockerfile +++ b/linux/atlassian/jira/7/7.3.5/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.5/Makefile b/linux/atlassian/jira/7/7.3.5/Makefile index dcea2c3b0..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.5/Makefile +++ b/linux/atlassian/jira/7/7.3.5/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.5 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.5/docker-compose.yml b/linux/atlassian/jira/7/7.3.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.6/.env b/linux/atlassian/jira/7/7.3.6/.env new file mode 100644 index 000000000..8b872d760 --- /dev/null +++ b/linux/atlassian/jira/7/7.3.6/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.6.tar.gz diff --git a/linux/atlassian/jira/7/7.3.6/Dockerfile b/linux/atlassian/jira/7/7.3.6/Dockerfile index 188f6857d..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.6/Dockerfile +++ b/linux/atlassian/jira/7/7.3.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.6/Makefile b/linux/atlassian/jira/7/7.3.6/Makefile index 7a99ba206..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.6/Makefile +++ b/linux/atlassian/jira/7/7.3.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.6/docker-compose.yml b/linux/atlassian/jira/7/7.3.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.7/.env b/linux/atlassian/jira/7/7.3.7/.env new file mode 100644 index 000000000..21452b86f --- /dev/null +++ b/linux/atlassian/jira/7/7.3.7/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.7.tar.gz diff --git a/linux/atlassian/jira/7/7.3.7/Dockerfile b/linux/atlassian/jira/7/7.3.7/Dockerfile index f274ac5c1..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.7/Dockerfile +++ b/linux/atlassian/jira/7/7.3.7/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.7 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.7/Makefile b/linux/atlassian/jira/7/7.3.7/Makefile index 7791706ad..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.7/Makefile +++ b/linux/atlassian/jira/7/7.3.7/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.7 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.7/docker-compose.yml b/linux/atlassian/jira/7/7.3.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.8/.env b/linux/atlassian/jira/7/7.3.8/.env new file mode 100644 index 000000000..b3cb22003 --- /dev/null +++ b/linux/atlassian/jira/7/7.3.8/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.8.tar.gz diff --git a/linux/atlassian/jira/7/7.3.8/Dockerfile b/linux/atlassian/jira/7/7.3.8/Dockerfile index fcb483846..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.8/Dockerfile +++ b/linux/atlassian/jira/7/7.3.8/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.8 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.8/Makefile b/linux/atlassian/jira/7/7.3.8/Makefile index 1efa30532..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.8/Makefile +++ b/linux/atlassian/jira/7/7.3.8/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.8 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.8/docker-compose.yml b/linux/atlassian/jira/7/7.3.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.3.9/.env b/linux/atlassian/jira/7/7.3.9/.env new file mode 100644 index 000000000..c40bfd9bf --- /dev/null +++ b/linux/atlassian/jira/7/7.3.9/.env @@ -0,0 +1,3 @@ + +RELEASE=7.3.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.3.9.tar.gz diff --git a/linux/atlassian/jira/7/7.3.9/Dockerfile b/linux/atlassian/jira/7/7.3.9/Dockerfile index 1d85b041b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.3.9/Dockerfile +++ b/linux/atlassian/jira/7/7.3.9/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.3.9 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.3.9/Makefile b/linux/atlassian/jira/7/7.3.9/Makefile index 90583bc03..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.3.9/Makefile +++ b/linux/atlassian/jira/7/7.3.9/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.3.9 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.3.9/docker-compose.yml b/linux/atlassian/jira/7/7.3.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.3.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.0/.env b/linux/atlassian/jira/7/7.4.0/.env new file mode 100644 index 000000000..f91a8b8ab --- /dev/null +++ b/linux/atlassian/jira/7/7.4.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.0.tar.gz diff --git a/linux/atlassian/jira/7/7.4.0/Dockerfile b/linux/atlassian/jira/7/7.4.0/Dockerfile index 1d5527ad5..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.0/Dockerfile +++ b/linux/atlassian/jira/7/7.4.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.0/Makefile b/linux/atlassian/jira/7/7.4.0/Makefile index 52e9ac418..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.0/Makefile +++ b/linux/atlassian/jira/7/7.4.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.0/docker-compose.yml b/linux/atlassian/jira/7/7.4.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.1/.env b/linux/atlassian/jira/7/7.4.1/.env new file mode 100644 index 000000000..b1f58552e --- /dev/null +++ b/linux/atlassian/jira/7/7.4.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.1.tar.gz diff --git a/linux/atlassian/jira/7/7.4.1/Dockerfile b/linux/atlassian/jira/7/7.4.1/Dockerfile index 6f74d409b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.1/Dockerfile +++ b/linux/atlassian/jira/7/7.4.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.1/Makefile b/linux/atlassian/jira/7/7.4.1/Makefile index c7c83da76..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.1/Makefile +++ b/linux/atlassian/jira/7/7.4.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.1/docker-compose.yml b/linux/atlassian/jira/7/7.4.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.2/.env b/linux/atlassian/jira/7/7.4.2/.env new file mode 100644 index 000000000..c37353e52 --- /dev/null +++ b/linux/atlassian/jira/7/7.4.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.2.tar.gz diff --git a/linux/atlassian/jira/7/7.4.2/Dockerfile b/linux/atlassian/jira/7/7.4.2/Dockerfile index 5aba5380a..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.2/Dockerfile +++ b/linux/atlassian/jira/7/7.4.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.2/Makefile b/linux/atlassian/jira/7/7.4.2/Makefile index 4fdc41139..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.2/Makefile +++ b/linux/atlassian/jira/7/7.4.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.2/docker-compose.yml b/linux/atlassian/jira/7/7.4.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.3/.env b/linux/atlassian/jira/7/7.4.3/.env new file mode 100644 index 000000000..d7e9cfc9d --- /dev/null +++ b/linux/atlassian/jira/7/7.4.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.3.tar.gz diff --git a/linux/atlassian/jira/7/7.4.3/Dockerfile b/linux/atlassian/jira/7/7.4.3/Dockerfile index 20063c3f2..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.3/Dockerfile +++ b/linux/atlassian/jira/7/7.4.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.3/Makefile b/linux/atlassian/jira/7/7.4.3/Makefile index 009baca7e..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.3/Makefile +++ b/linux/atlassian/jira/7/7.4.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.3/docker-compose.yml b/linux/atlassian/jira/7/7.4.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.4/.env b/linux/atlassian/jira/7/7.4.4/.env new file mode 100644 index 000000000..8d94a5c38 --- /dev/null +++ b/linux/atlassian/jira/7/7.4.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.4.tar.gz diff --git a/linux/atlassian/jira/7/7.4.4/Dockerfile b/linux/atlassian/jira/7/7.4.4/Dockerfile index 8980155df..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.4/Dockerfile +++ b/linux/atlassian/jira/7/7.4.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.4/Makefile b/linux/atlassian/jira/7/7.4.4/Makefile index 4628d54ba..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.4/Makefile +++ b/linux/atlassian/jira/7/7.4.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.4/docker-compose.yml b/linux/atlassian/jira/7/7.4.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.5/.env b/linux/atlassian/jira/7/7.4.5/.env new file mode 100644 index 000000000..b3df67fc4 --- /dev/null +++ b/linux/atlassian/jira/7/7.4.5/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.5.tar.gz diff --git a/linux/atlassian/jira/7/7.4.5/Dockerfile b/linux/atlassian/jira/7/7.4.5/Dockerfile index 8431bda78..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.5/Dockerfile +++ b/linux/atlassian/jira/7/7.4.5/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.5/Makefile b/linux/atlassian/jira/7/7.4.5/Makefile index 99d248d42..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.5/Makefile +++ b/linux/atlassian/jira/7/7.4.5/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.5 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.5/docker-compose.yml b/linux/atlassian/jira/7/7.4.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.4.6/.env b/linux/atlassian/jira/7/7.4.6/.env new file mode 100644 index 000000000..982d5e157 --- /dev/null +++ b/linux/atlassian/jira/7/7.4.6/.env @@ -0,0 +1,3 @@ + +RELEASE=7.4.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.4.6.tar.gz diff --git a/linux/atlassian/jira/7/7.4.6/Dockerfile b/linux/atlassian/jira/7/7.4.6/Dockerfile index d4691ceab..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.4.6/Dockerfile +++ b/linux/atlassian/jira/7/7.4.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.4.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.4.6/Makefile b/linux/atlassian/jira/7/7.4.6/Makefile index 7dd540b9b..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.4.6/Makefile +++ b/linux/atlassian/jira/7/7.4.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.4.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.4.6/docker-compose.yml b/linux/atlassian/jira/7/7.4.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.4.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.5.0/.env b/linux/atlassian/jira/7/7.5.0/.env new file mode 100644 index 000000000..1353fbb1e --- /dev/null +++ b/linux/atlassian/jira/7/7.5.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.5.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.5.0.tar.gz diff --git a/linux/atlassian/jira/7/7.5.0/Dockerfile b/linux/atlassian/jira/7/7.5.0/Dockerfile index 5bb1823dd..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.5.0/Dockerfile +++ b/linux/atlassian/jira/7/7.5.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.5.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.5.0/Makefile b/linux/atlassian/jira/7/7.5.0/Makefile index 79ae30952..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.5.0/Makefile +++ b/linux/atlassian/jira/7/7.5.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.5.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.5.0/docker-compose.yml b/linux/atlassian/jira/7/7.5.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.5.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.5.1/.env b/linux/atlassian/jira/7/7.5.1/.env new file mode 100644 index 000000000..87d4eaef4 --- /dev/null +++ b/linux/atlassian/jira/7/7.5.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.5.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.5.1.tar.gz diff --git a/linux/atlassian/jira/7/7.5.1/Dockerfile b/linux/atlassian/jira/7/7.5.1/Dockerfile index c6d46d9de..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.5.1/Dockerfile +++ b/linux/atlassian/jira/7/7.5.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.5.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.5.1/Makefile b/linux/atlassian/jira/7/7.5.1/Makefile index f27d551d1..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.5.1/Makefile +++ b/linux/atlassian/jira/7/7.5.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.5.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.5.1/docker-compose.yml b/linux/atlassian/jira/7/7.5.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.5.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.5.2/.env b/linux/atlassian/jira/7/7.5.2/.env new file mode 100644 index 000000000..6c6983b79 --- /dev/null +++ b/linux/atlassian/jira/7/7.5.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.5.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.5.2.tar.gz diff --git a/linux/atlassian/jira/7/7.5.2/Dockerfile b/linux/atlassian/jira/7/7.5.2/Dockerfile index 5940efb6b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.5.2/Dockerfile +++ b/linux/atlassian/jira/7/7.5.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.5.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.5.2/Makefile b/linux/atlassian/jira/7/7.5.2/Makefile index bff56675e..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.5.2/Makefile +++ b/linux/atlassian/jira/7/7.5.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.5.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.5.2/docker-compose.yml b/linux/atlassian/jira/7/7.5.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.5.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.5.3/.env b/linux/atlassian/jira/7/7.5.3/.env new file mode 100644 index 000000000..262439205 --- /dev/null +++ b/linux/atlassian/jira/7/7.5.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.5.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.5.3.tar.gz diff --git a/linux/atlassian/jira/7/7.5.3/Dockerfile b/linux/atlassian/jira/7/7.5.3/Dockerfile index 93a55b9b4..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.5.3/Dockerfile +++ b/linux/atlassian/jira/7/7.5.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.5.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.5.3/Makefile b/linux/atlassian/jira/7/7.5.3/Makefile index 629bbb09d..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.5.3/Makefile +++ b/linux/atlassian/jira/7/7.5.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.5.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.5.3/docker-compose.yml b/linux/atlassian/jira/7/7.5.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.5.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.5.4/.env b/linux/atlassian/jira/7/7.5.4/.env new file mode 100644 index 000000000..24252f5af --- /dev/null +++ b/linux/atlassian/jira/7/7.5.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.5.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.5.4.tar.gz diff --git a/linux/atlassian/jira/7/7.5.4/Dockerfile b/linux/atlassian/jira/7/7.5.4/Dockerfile index 0fb88b1ec..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.5.4/Dockerfile +++ b/linux/atlassian/jira/7/7.5.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.5.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.5.4/Makefile b/linux/atlassian/jira/7/7.5.4/Makefile index 7a62f47df..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.5.4/Makefile +++ b/linux/atlassian/jira/7/7.5.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.5.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.5.4/docker-compose.yml b/linux/atlassian/jira/7/7.5.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.5.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.0/.env b/linux/atlassian/jira/7/7.6.0/.env new file mode 100644 index 000000000..ad9fa9c3d --- /dev/null +++ b/linux/atlassian/jira/7/7.6.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.0.tar.gz diff --git a/linux/atlassian/jira/7/7.6.0/Dockerfile b/linux/atlassian/jira/7/7.6.0/Dockerfile index 05617e427..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.0/Dockerfile +++ b/linux/atlassian/jira/7/7.6.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.0/Makefile b/linux/atlassian/jira/7/7.6.0/Makefile index 22296bdc8..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.0/Makefile +++ b/linux/atlassian/jira/7/7.6.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.0/docker-compose.yml b/linux/atlassian/jira/7/7.6.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.1/.env b/linux/atlassian/jira/7/7.6.1/.env new file mode 100644 index 000000000..af9db42e3 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.1.tar.gz diff --git a/linux/atlassian/jira/7/7.6.1/Dockerfile b/linux/atlassian/jira/7/7.6.1/Dockerfile index b64b86a27..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.1/Dockerfile +++ b/linux/atlassian/jira/7/7.6.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.1/Makefile b/linux/atlassian/jira/7/7.6.1/Makefile index 0f3b0d140..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.1/Makefile +++ b/linux/atlassian/jira/7/7.6.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.1/docker-compose.yml b/linux/atlassian/jira/7/7.6.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.10/.env b/linux/atlassian/jira/7/7.6.10/.env new file mode 100644 index 000000000..9151079b0 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.10/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.10.tar.gz diff --git a/linux/atlassian/jira/7/7.6.10/Dockerfile b/linux/atlassian/jira/7/7.6.10/Dockerfile index ed257cf20..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.10/Dockerfile +++ b/linux/atlassian/jira/7/7.6.10/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.10 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.10/Makefile b/linux/atlassian/jira/7/7.6.10/Makefile index edac4d2f6..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.10/Makefile +++ b/linux/atlassian/jira/7/7.6.10/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.10 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.10/docker-compose.yml b/linux/atlassian/jira/7/7.6.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.11/.env b/linux/atlassian/jira/7/7.6.11/.env new file mode 100644 index 000000000..b3ac3642a --- /dev/null +++ b/linux/atlassian/jira/7/7.6.11/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.11.tar.gz diff --git a/linux/atlassian/jira/7/7.6.11/Dockerfile b/linux/atlassian/jira/7/7.6.11/Dockerfile index d33d794a2..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.11/Dockerfile +++ b/linux/atlassian/jira/7/7.6.11/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.11 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.11/Makefile b/linux/atlassian/jira/7/7.6.11/Makefile index f1a503f40..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.11/Makefile +++ b/linux/atlassian/jira/7/7.6.11/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.11 \ No newline at end of file +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.11/docker-compose.yml b/linux/atlassian/jira/7/7.6.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.12/.env b/linux/atlassian/jira/7/7.6.12/.env new file mode 100644 index 000000000..6e10b6dc2 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.12/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.12.tar.gz diff --git a/linux/atlassian/jira/7/7.6.12/Dockerfile b/linux/atlassian/jira/7/7.6.12/Dockerfile index dbf1c3182..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.12/Dockerfile +++ b/linux/atlassian/jira/7/7.6.12/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.12 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.12/Makefile b/linux/atlassian/jira/7/7.6.12/Makefile index 95ea442dc..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.12/Makefile +++ b/linux/atlassian/jira/7/7.6.12/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.12 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.12/docker-compose.yml b/linux/atlassian/jira/7/7.6.12/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.12/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.13/.env b/linux/atlassian/jira/7/7.6.13/.env new file mode 100644 index 000000000..5868d6764 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.13/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.13 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.13.tar.gz diff --git a/linux/atlassian/jira/7/7.6.13/Dockerfile b/linux/atlassian/jira/7/7.6.13/Dockerfile index e174a3df8..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.13/Dockerfile +++ b/linux/atlassian/jira/7/7.6.13/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.13 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.13/Makefile b/linux/atlassian/jira/7/7.6.13/Makefile index 2720d6482..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.13/Makefile +++ b/linux/atlassian/jira/7/7.6.13/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.13 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.13/docker-compose.yml b/linux/atlassian/jira/7/7.6.13/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.13/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.14/.env b/linux/atlassian/jira/7/7.6.14/.env new file mode 100644 index 000000000..f7bc9e5c2 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.14/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.14 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.14.tar.gz diff --git a/linux/atlassian/jira/7/7.6.14/Dockerfile b/linux/atlassian/jira/7/7.6.14/Dockerfile index 55aa10be3..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.14/Dockerfile +++ b/linux/atlassian/jira/7/7.6.14/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.14 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.14/Makefile b/linux/atlassian/jira/7/7.6.14/Makefile index bc18cc2a6..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.14/Makefile +++ b/linux/atlassian/jira/7/7.6.14/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.14 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.14/docker-compose.yml b/linux/atlassian/jira/7/7.6.14/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.14/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.15/.env b/linux/atlassian/jira/7/7.6.15/.env new file mode 100644 index 000000000..804065859 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.15/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.15 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.15.tar.gz diff --git a/linux/atlassian/jira/7/7.6.15/Dockerfile b/linux/atlassian/jira/7/7.6.15/Dockerfile index 2aea85a3d..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.15/Dockerfile +++ b/linux/atlassian/jira/7/7.6.15/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.15 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.15/Makefile b/linux/atlassian/jira/7/7.6.15/Makefile index de0914463..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.15/Makefile +++ b/linux/atlassian/jira/7/7.6.15/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.15 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.15/docker-compose.yml b/linux/atlassian/jira/7/7.6.15/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.15/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.16/.env b/linux/atlassian/jira/7/7.6.16/.env new file mode 100644 index 000000000..f8c0c9156 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.16/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.16 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.16.tar.gz diff --git a/linux/atlassian/jira/7/7.6.16/Dockerfile b/linux/atlassian/jira/7/7.6.16/Dockerfile index 2cdb83881..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.16/Dockerfile +++ b/linux/atlassian/jira/7/7.6.16/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.16 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.16/Makefile b/linux/atlassian/jira/7/7.6.16/Makefile index 53a9333f0..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.16/Makefile +++ b/linux/atlassian/jira/7/7.6.16/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.16 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.16/docker-compose.yml b/linux/atlassian/jira/7/7.6.16/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.16/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.17/.env b/linux/atlassian/jira/7/7.6.17/.env new file mode 100644 index 000000000..ea8156ea6 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.17/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.17 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.17.tar.gz diff --git a/linux/atlassian/jira/7/7.6.17/Dockerfile b/linux/atlassian/jira/7/7.6.17/Dockerfile index e12c6532f..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.17/Dockerfile +++ b/linux/atlassian/jira/7/7.6.17/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.17 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.17/Makefile b/linux/atlassian/jira/7/7.6.17/Makefile index 456033f2d..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.17/Makefile +++ b/linux/atlassian/jira/7/7.6.17/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.17 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.17/docker-compose.yml b/linux/atlassian/jira/7/7.6.17/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.17/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.2/.env b/linux/atlassian/jira/7/7.6.2/.env new file mode 100644 index 000000000..64708172f --- /dev/null +++ b/linux/atlassian/jira/7/7.6.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.2.tar.gz diff --git a/linux/atlassian/jira/7/7.6.2/Dockerfile b/linux/atlassian/jira/7/7.6.2/Dockerfile index 8d6fc9d86..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.2/Dockerfile +++ b/linux/atlassian/jira/7/7.6.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.2/Makefile b/linux/atlassian/jira/7/7.6.2/Makefile index d4e074a42..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.2/Makefile +++ b/linux/atlassian/jira/7/7.6.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.2/docker-compose.yml b/linux/atlassian/jira/7/7.6.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.3/.env b/linux/atlassian/jira/7/7.6.3/.env new file mode 100644 index 000000000..0408a1947 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.3/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.3.tar.gz diff --git a/linux/atlassian/jira/7/7.6.3/Dockerfile b/linux/atlassian/jira/7/7.6.3/Dockerfile index b106ce402..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.3/Dockerfile +++ b/linux/atlassian/jira/7/7.6.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.3/Makefile b/linux/atlassian/jira/7/7.6.3/Makefile index 7a8c98ffb..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.3/Makefile +++ b/linux/atlassian/jira/7/7.6.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.3/docker-compose.yml b/linux/atlassian/jira/7/7.6.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.4/.env b/linux/atlassian/jira/7/7.6.4/.env new file mode 100644 index 000000000..936089cd8 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.4.tar.gz diff --git a/linux/atlassian/jira/7/7.6.4/Dockerfile b/linux/atlassian/jira/7/7.6.4/Dockerfile index 66aa5c5f3..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.4/Dockerfile +++ b/linux/atlassian/jira/7/7.6.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.4/Makefile b/linux/atlassian/jira/7/7.6.4/Makefile index 6396d95c3..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.4/Makefile +++ b/linux/atlassian/jira/7/7.6.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.4/docker-compose.yml b/linux/atlassian/jira/7/7.6.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.6/.env b/linux/atlassian/jira/7/7.6.6/.env new file mode 100644 index 000000000..5bfa71a33 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.6/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.6.tar.gz diff --git a/linux/atlassian/jira/7/7.6.6/Dockerfile b/linux/atlassian/jira/7/7.6.6/Dockerfile index 2041a4e0e..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.6/Dockerfile +++ b/linux/atlassian/jira/7/7.6.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.6/Makefile b/linux/atlassian/jira/7/7.6.6/Makefile index 258c78519..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.6/Makefile +++ b/linux/atlassian/jira/7/7.6.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.6/docker-compose.yml b/linux/atlassian/jira/7/7.6.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.7/.env b/linux/atlassian/jira/7/7.6.7/.env new file mode 100644 index 000000000..7fa016d23 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.7/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.7.tar.gz diff --git a/linux/atlassian/jira/7/7.6.7/Dockerfile b/linux/atlassian/jira/7/7.6.7/Dockerfile index 93e9070b7..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.7/Dockerfile +++ b/linux/atlassian/jira/7/7.6.7/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.7 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.7/Makefile b/linux/atlassian/jira/7/7.6.7/Makefile index b6dfcfec1..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.7/Makefile +++ b/linux/atlassian/jira/7/7.6.7/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.7 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.7/docker-compose.yml b/linux/atlassian/jira/7/7.6.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.8/.env b/linux/atlassian/jira/7/7.6.8/.env new file mode 100644 index 000000000..561aacc06 --- /dev/null +++ b/linux/atlassian/jira/7/7.6.8/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.8.tar.gz diff --git a/linux/atlassian/jira/7/7.6.8/Dockerfile b/linux/atlassian/jira/7/7.6.8/Dockerfile index f7ec54037..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.8/Dockerfile +++ b/linux/atlassian/jira/7/7.6.8/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.8 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.8/Makefile b/linux/atlassian/jira/7/7.6.8/Makefile index d4dbf81e3..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.8/Makefile +++ b/linux/atlassian/jira/7/7.6.8/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.8 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.8/docker-compose.yml b/linux/atlassian/jira/7/7.6.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.6.9/.env b/linux/atlassian/jira/7/7.6.9/.env new file mode 100644 index 000000000..fc3d42aab --- /dev/null +++ b/linux/atlassian/jira/7/7.6.9/.env @@ -0,0 +1,3 @@ + +RELEASE=7.6.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.6.9.tar.gz diff --git a/linux/atlassian/jira/7/7.6.9/Dockerfile b/linux/atlassian/jira/7/7.6.9/Dockerfile index c838cc1c5..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.6.9/Dockerfile +++ b/linux/atlassian/jira/7/7.6.9/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.6.9 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.6.9/Makefile b/linux/atlassian/jira/7/7.6.9/Makefile index 4d1b321ab..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.6.9/Makefile +++ b/linux/atlassian/jira/7/7.6.9/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.6.9 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.6.9/docker-compose.yml b/linux/atlassian/jira/7/7.6.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.6.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.7.0/.env b/linux/atlassian/jira/7/7.7.0/.env new file mode 100644 index 000000000..7033b7ec1 --- /dev/null +++ b/linux/atlassian/jira/7/7.7.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.7.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.7.0.tar.gz diff --git a/linux/atlassian/jira/7/7.7.0/Dockerfile b/linux/atlassian/jira/7/7.7.0/Dockerfile index c28dc53fb..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.7.0/Dockerfile +++ b/linux/atlassian/jira/7/7.7.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.7.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.7.0/Makefile b/linux/atlassian/jira/7/7.7.0/Makefile index 484b63ebe..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.7.0/Makefile +++ b/linux/atlassian/jira/7/7.7.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.7.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.7.0/docker-compose.yml b/linux/atlassian/jira/7/7.7.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.7.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.7.1/.env b/linux/atlassian/jira/7/7.7.1/.env new file mode 100644 index 000000000..8bca52408 --- /dev/null +++ b/linux/atlassian/jira/7/7.7.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.7.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.7.1.tar.gz diff --git a/linux/atlassian/jira/7/7.7.1/Dockerfile b/linux/atlassian/jira/7/7.7.1/Dockerfile index 7feb33a0b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.7.1/Dockerfile +++ b/linux/atlassian/jira/7/7.7.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.7.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.7.1/Makefile b/linux/atlassian/jira/7/7.7.1/Makefile index f585f6150..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.7.1/Makefile +++ b/linux/atlassian/jira/7/7.7.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.7.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.7.1/docker-compose.yml b/linux/atlassian/jira/7/7.7.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.7.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.7.2/.env b/linux/atlassian/jira/7/7.7.2/.env new file mode 100644 index 000000000..73d28284f --- /dev/null +++ b/linux/atlassian/jira/7/7.7.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.7.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.7.2.tar.gz diff --git a/linux/atlassian/jira/7/7.7.2/Dockerfile b/linux/atlassian/jira/7/7.7.2/Dockerfile index 5a5c5d671..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.7.2/Dockerfile +++ b/linux/atlassian/jira/7/7.7.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.7.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.7.2/Makefile b/linux/atlassian/jira/7/7.7.2/Makefile index 33f32889d..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.7.2/Makefile +++ b/linux/atlassian/jira/7/7.7.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.7.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.7.2/docker-compose.yml b/linux/atlassian/jira/7/7.7.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.7.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.7.4/.env b/linux/atlassian/jira/7/7.7.4/.env new file mode 100644 index 000000000..c356493e2 --- /dev/null +++ b/linux/atlassian/jira/7/7.7.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.7.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.7.4.tar.gz diff --git a/linux/atlassian/jira/7/7.7.4/Dockerfile b/linux/atlassian/jira/7/7.7.4/Dockerfile index 79346f86c..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.7.4/Dockerfile +++ b/linux/atlassian/jira/7/7.7.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.7.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.7.4/Makefile b/linux/atlassian/jira/7/7.7.4/Makefile index ec7c511d6..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.7.4/Makefile +++ b/linux/atlassian/jira/7/7.7.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.7.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.7.4/docker-compose.yml b/linux/atlassian/jira/7/7.7.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.7.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.8.0/.env b/linux/atlassian/jira/7/7.8.0/.env new file mode 100644 index 000000000..f41337f71 --- /dev/null +++ b/linux/atlassian/jira/7/7.8.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.8.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.8.0.tar.gz diff --git a/linux/atlassian/jira/7/7.8.0/Dockerfile b/linux/atlassian/jira/7/7.8.0/Dockerfile index 02bca0b8f..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.8.0/Dockerfile +++ b/linux/atlassian/jira/7/7.8.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.8.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.8.0/Makefile b/linux/atlassian/jira/7/7.8.0/Makefile index a8c1c3708..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.8.0/Makefile +++ b/linux/atlassian/jira/7/7.8.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.8.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.8.0/docker-compose.yml b/linux/atlassian/jira/7/7.8.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.8.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.8.1/.env b/linux/atlassian/jira/7/7.8.1/.env new file mode 100644 index 000000000..2a764d9d1 --- /dev/null +++ b/linux/atlassian/jira/7/7.8.1/.env @@ -0,0 +1,3 @@ + +RELEASE=7.8.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.8.1.tar.gz diff --git a/linux/atlassian/jira/7/7.8.1/Dockerfile b/linux/atlassian/jira/7/7.8.1/Dockerfile index 598aca639..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.8.1/Dockerfile +++ b/linux/atlassian/jira/7/7.8.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.8.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.8.1/Makefile b/linux/atlassian/jira/7/7.8.1/Makefile index 15a553644..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.8.1/Makefile +++ b/linux/atlassian/jira/7/7.8.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.8.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.8.1/docker-compose.yml b/linux/atlassian/jira/7/7.8.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.8.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.8.2/.env b/linux/atlassian/jira/7/7.8.2/.env new file mode 100644 index 000000000..8fa75646d --- /dev/null +++ b/linux/atlassian/jira/7/7.8.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.8.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.8.2.tar.gz diff --git a/linux/atlassian/jira/7/7.8.2/Dockerfile b/linux/atlassian/jira/7/7.8.2/Dockerfile index 9e8fb7dc4..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.8.2/Dockerfile +++ b/linux/atlassian/jira/7/7.8.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.8.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.8.2/Makefile b/linux/atlassian/jira/7/7.8.2/Makefile index 7d73c3eaf..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.8.2/Makefile +++ b/linux/atlassian/jira/7/7.8.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.8.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.8.2/docker-compose.yml b/linux/atlassian/jira/7/7.8.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.8.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.8.4/.env b/linux/atlassian/jira/7/7.8.4/.env new file mode 100644 index 000000000..a2879af27 --- /dev/null +++ b/linux/atlassian/jira/7/7.8.4/.env @@ -0,0 +1,3 @@ + +RELEASE=7.8.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.8.4.tar.gz diff --git a/linux/atlassian/jira/7/7.8.4/Dockerfile b/linux/atlassian/jira/7/7.8.4/Dockerfile index 06cc20d95..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.8.4/Dockerfile +++ b/linux/atlassian/jira/7/7.8.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.8.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.8.4/Makefile b/linux/atlassian/jira/7/7.8.4/Makefile index 13d159ddc..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.8.4/Makefile +++ b/linux/atlassian/jira/7/7.8.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.8.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.8.4/docker-compose.yml b/linux/atlassian/jira/7/7.8.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.8.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.9.0/.env b/linux/atlassian/jira/7/7.9.0/.env new file mode 100644 index 000000000..f6b717ead --- /dev/null +++ b/linux/atlassian/jira/7/7.9.0/.env @@ -0,0 +1,3 @@ + +RELEASE=7.9.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.9.0.tar.gz diff --git a/linux/atlassian/jira/7/7.9.0/Dockerfile b/linux/atlassian/jira/7/7.9.0/Dockerfile index 3fcc0c8f1..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.9.0/Dockerfile +++ b/linux/atlassian/jira/7/7.9.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.9.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.9.0/Makefile b/linux/atlassian/jira/7/7.9.0/Makefile index 083bd154b..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.9.0/Makefile +++ b/linux/atlassian/jira/7/7.9.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.9.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.9.0/docker-compose.yml b/linux/atlassian/jira/7/7.9.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.9.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/7/7.9.2/.env b/linux/atlassian/jira/7/7.9.2/.env new file mode 100644 index 000000000..17ccd50c6 --- /dev/null +++ b/linux/atlassian/jira/7/7.9.2/.env @@ -0,0 +1,3 @@ + +RELEASE=7.9.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-7.9.2.tar.gz diff --git a/linux/atlassian/jira/7/7.9.2/Dockerfile b/linux/atlassian/jira/7/7.9.2/Dockerfile index ea4dd675b..b04d36d00 100644 --- a/linux/atlassian/jira/7/7.9.2/Dockerfile +++ b/linux/atlassian/jira/7/7.9.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=7.9.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/7/7.9.2/Makefile b/linux/atlassian/jira/7/7.9.2/Makefile index d16c74d5f..82c5a2de6 100644 --- a/linux/atlassian/jira/7/7.9.2/Makefile +++ b/linux/atlassian/jira/7/7.9.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:7.9.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/7/7.9.2/docker-compose.yml b/linux/atlassian/jira/7/7.9.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/7/7.9.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.0.0/.env b/linux/atlassian/jira/8/8.0.0/.env new file mode 100644 index 000000000..2b127f2ae --- /dev/null +++ b/linux/atlassian/jira/8/8.0.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.0.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.0.0.tar.gz diff --git a/linux/atlassian/jira/8/8.0.0/Dockerfile b/linux/atlassian/jira/8/8.0.0/Dockerfile index 98e94c6bc..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.0.0/Dockerfile +++ b/linux/atlassian/jira/8/8.0.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.0.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.0.0/Makefile b/linux/atlassian/jira/8/8.0.0/Makefile index ec734ea67..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.0.0/Makefile +++ b/linux/atlassian/jira/8/8.0.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.0.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.0.0/docker-compose.yml b/linux/atlassian/jira/8/8.0.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.0.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.0.2/.env b/linux/atlassian/jira/8/8.0.2/.env new file mode 100644 index 000000000..c09dca049 --- /dev/null +++ b/linux/atlassian/jira/8/8.0.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.0.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.0.2.tar.gz diff --git a/linux/atlassian/jira/8/8.0.2/Dockerfile b/linux/atlassian/jira/8/8.0.2/Dockerfile index b4346797e..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.0.2/Dockerfile +++ b/linux/atlassian/jira/8/8.0.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.0.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.0.2/Makefile b/linux/atlassian/jira/8/8.0.2/Makefile index fd595c493..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.0.2/Makefile +++ b/linux/atlassian/jira/8/8.0.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.0.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.0.2/docker-compose.yml b/linux/atlassian/jira/8/8.0.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.0.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.0.3/.env b/linux/atlassian/jira/8/8.0.3/.env new file mode 100644 index 000000000..bc5b567ed --- /dev/null +++ b/linux/atlassian/jira/8/8.0.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.0.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.0.3.tar.gz diff --git a/linux/atlassian/jira/8/8.0.3/Dockerfile b/linux/atlassian/jira/8/8.0.3/Dockerfile index c96af7da2..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.0.3/Dockerfile +++ b/linux/atlassian/jira/8/8.0.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.0.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.0.3/Makefile b/linux/atlassian/jira/8/8.0.3/Makefile index af66b6115..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.0.3/Makefile +++ b/linux/atlassian/jira/8/8.0.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.0.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.0.3/docker-compose.yml b/linux/atlassian/jira/8/8.0.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.0.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.1.0/.env b/linux/atlassian/jira/8/8.1.0/.env new file mode 100644 index 000000000..c8ca5ef17 --- /dev/null +++ b/linux/atlassian/jira/8/8.1.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.1.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.1.0.tar.gz diff --git a/linux/atlassian/jira/8/8.1.0/Dockerfile b/linux/atlassian/jira/8/8.1.0/Dockerfile index 60a5c20be..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.1.0/Dockerfile +++ b/linux/atlassian/jira/8/8.1.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.1.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.1.0/Makefile b/linux/atlassian/jira/8/8.1.0/Makefile index 77ebb66c5..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.1.0/Makefile +++ b/linux/atlassian/jira/8/8.1.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.1.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.1.0/docker-compose.yml b/linux/atlassian/jira/8/8.1.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.1.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.1.1/.env b/linux/atlassian/jira/8/8.1.1/.env new file mode 100644 index 000000000..c05ae07e1 --- /dev/null +++ b/linux/atlassian/jira/8/8.1.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.1.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.1.1.tar.gz diff --git a/linux/atlassian/jira/8/8.1.1/Dockerfile b/linux/atlassian/jira/8/8.1.1/Dockerfile index 3cbd9cb52..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.1.1/Dockerfile +++ b/linux/atlassian/jira/8/8.1.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.1.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.1.1/Makefile b/linux/atlassian/jira/8/8.1.1/Makefile index 3d9ae7851..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.1.1/Makefile +++ b/linux/atlassian/jira/8/8.1.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.1.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.1.1/docker-compose.yml b/linux/atlassian/jira/8/8.1.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.1.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.1.2/.env b/linux/atlassian/jira/8/8.1.2/.env new file mode 100644 index 000000000..7d604c1cc --- /dev/null +++ b/linux/atlassian/jira/8/8.1.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.1.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.1.2.tar.gz diff --git a/linux/atlassian/jira/8/8.1.2/Dockerfile b/linux/atlassian/jira/8/8.1.2/Dockerfile index 857d2cf23..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.1.2/Dockerfile +++ b/linux/atlassian/jira/8/8.1.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.1.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.1.2/Makefile b/linux/atlassian/jira/8/8.1.2/Makefile index 7c89625c5..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.1.2/Makefile +++ b/linux/atlassian/jira/8/8.1.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.1.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.1.2/docker-compose.yml b/linux/atlassian/jira/8/8.1.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.1.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.1.3/.env b/linux/atlassian/jira/8/8.1.3/.env new file mode 100644 index 000000000..9faf78da0 --- /dev/null +++ b/linux/atlassian/jira/8/8.1.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.1.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.1.3.tar.gz diff --git a/linux/atlassian/jira/8/8.1.3/Dockerfile b/linux/atlassian/jira/8/8.1.3/Dockerfile index c38c5d398..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.1.3/Dockerfile +++ b/linux/atlassian/jira/8/8.1.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.1.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.1.3/Makefile b/linux/atlassian/jira/8/8.1.3/Makefile index 9115ebaf5..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.1.3/Makefile +++ b/linux/atlassian/jira/8/8.1.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.1.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.1.3/docker-compose.yml b/linux/atlassian/jira/8/8.1.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.1.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.10.0/.env b/linux/atlassian/jira/8/8.10.0/.env new file mode 100644 index 000000000..06545427b --- /dev/null +++ b/linux/atlassian/jira/8/8.10.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.10.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.10.0.tar.gz diff --git a/linux/atlassian/jira/8/8.10.0/Dockerfile b/linux/atlassian/jira/8/8.10.0/Dockerfile index 0c0da3f30..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.10.0/Dockerfile +++ b/linux/atlassian/jira/8/8.10.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.10.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.10.0/Makefile b/linux/atlassian/jira/8/8.10.0/Makefile index 8a1664cc8..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.10.0/Makefile +++ b/linux/atlassian/jira/8/8.10.0/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.10.0 . - docker push epicmorg/jira:8.10.0 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.10.0/docker-compose.yml b/linux/atlassian/jira/8/8.10.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.10.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.10.1/.env b/linux/atlassian/jira/8/8.10.1/.env new file mode 100644 index 000000000..f0303efa3 --- /dev/null +++ b/linux/atlassian/jira/8/8.10.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.10.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.10.1.tar.gz diff --git a/linux/atlassian/jira/8/8.10.1/Dockerfile b/linux/atlassian/jira/8/8.10.1/Dockerfile index 1d1caa3dd..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.10.1/Dockerfile +++ b/linux/atlassian/jira/8/8.10.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.10.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.10.1/Makefile b/linux/atlassian/jira/8/8.10.1/Makefile index 9d19a683c..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.10.1/Makefile +++ b/linux/atlassian/jira/8/8.10.1/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.10.1 . - docker push epicmorg/jira:8.10.1 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.10.1/docker-compose.yml b/linux/atlassian/jira/8/8.10.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.10.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.11.0/.env b/linux/atlassian/jira/8/8.11.0/.env new file mode 100644 index 000000000..bc552542b --- /dev/null +++ b/linux/atlassian/jira/8/8.11.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.11.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.11.0.tar.gz diff --git a/linux/atlassian/jira/8/8.11.0/Dockerfile b/linux/atlassian/jira/8/8.11.0/Dockerfile index ec0717a0a..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.11.0/Dockerfile +++ b/linux/atlassian/jira/8/8.11.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.11.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.11.0/Makefile b/linux/atlassian/jira/8/8.11.0/Makefile index 223d48205..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.11.0/Makefile +++ b/linux/atlassian/jira/8/8.11.0/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.11.0 . - docker push epicmorg/jira:8.11.0 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.11.0/docker-compose.yml b/linux/atlassian/jira/8/8.11.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.11.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.11.1/.env b/linux/atlassian/jira/8/8.11.1/.env new file mode 100644 index 000000000..a0cc199e7 --- /dev/null +++ b/linux/atlassian/jira/8/8.11.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.11.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.11.1.tar.gz diff --git a/linux/atlassian/jira/8/8.11.1/Dockerfile b/linux/atlassian/jira/8/8.11.1/Dockerfile index 7f4b03a70..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.11.1/Dockerfile +++ b/linux/atlassian/jira/8/8.11.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.11.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.11.1/Makefile b/linux/atlassian/jira/8/8.11.1/Makefile index d45d787ae..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.11.1/Makefile +++ b/linux/atlassian/jira/8/8.11.1/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.11.1 . - docker push epicmorg/jira:8.11.1 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.11.1/docker-compose.yml b/linux/atlassian/jira/8/8.11.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.11.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.12.0/.env b/linux/atlassian/jira/8/8.12.0/.env new file mode 100644 index 000000000..7d3cdd9f5 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.12.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.12.0.tar.gz diff --git a/linux/atlassian/jira/8/8.12.0/Dockerfile b/linux/atlassian/jira/8/8.12.0/Dockerfile index ec4db21c6..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.12.0/Dockerfile +++ b/linux/atlassian/jira/8/8.12.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.12.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.12.0/Makefile b/linux/atlassian/jira/8/8.12.0/Makefile index 16e4fa587..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.12.0/Makefile +++ b/linux/atlassian/jira/8/8.12.0/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.12.0 . - docker push epicmorg/jira:8.12.0 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.12.0/docker-compose.yml b/linux/atlassian/jira/8/8.12.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.12.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.12.1/.env b/linux/atlassian/jira/8/8.12.1/.env new file mode 100644 index 000000000..7b14469c4 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.12.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.12.1.tar.gz diff --git a/linux/atlassian/jira/8/8.12.1/Dockerfile b/linux/atlassian/jira/8/8.12.1/Dockerfile index 2dc9c95ab..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.12.1/Dockerfile +++ b/linux/atlassian/jira/8/8.12.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.12.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.12.1/Makefile b/linux/atlassian/jira/8/8.12.1/Makefile index 16e4fa587..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.12.1/Makefile +++ b/linux/atlassian/jira/8/8.12.1/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.12.0 . - docker push epicmorg/jira:8.12.0 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.12.1/docker-compose.yml b/linux/atlassian/jira/8/8.12.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.12.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.12.2/.env b/linux/atlassian/jira/8/8.12.2/.env new file mode 100644 index 000000000..af18966ef --- /dev/null +++ b/linux/atlassian/jira/8/8.12.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.12.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.12.2.tar.gz diff --git a/linux/atlassian/jira/8/8.12.2/Dockerfile b/linux/atlassian/jira/8/8.12.2/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.12.2/Makefile b/linux/atlassian/jira/8/8.12.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.12.2/docker-compose.yml b/linux/atlassian/jira/8/8.12.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.12.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.12.2/entrypoint.sh b/linux/atlassian/jira/8/8.12.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.12.3/.env b/linux/atlassian/jira/8/8.12.3/.env new file mode 100644 index 000000000..aadcec757 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.12.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.12.3.tar.gz diff --git a/linux/atlassian/jira/8/8.12.3/Dockerfile b/linux/atlassian/jira/8/8.12.3/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.12.3/Makefile b/linux/atlassian/jira/8/8.12.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.12.3/docker-compose.yml b/linux/atlassian/jira/8/8.12.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.12.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.12.3/entrypoint.sh b/linux/atlassian/jira/8/8.12.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.12.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.0/.env b/linux/atlassian/jira/8/8.13.0/.env new file mode 100644 index 000000000..1251e9fd0 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.0.tar.gz diff --git a/linux/atlassian/jira/8/8.13.0/Dockerfile b/linux/atlassian/jira/8/8.13.0/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.0/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.0/Makefile b/linux/atlassian/jira/8/8.13.0/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.0/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.0/docker-compose.yml b/linux/atlassian/jira/8/8.13.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.0/entrypoint.sh b/linux/atlassian/jira/8/8.13.0/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.1/.env b/linux/atlassian/jira/8/8.13.1/.env new file mode 100644 index 000000000..d544e2056 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.1.tar.gz diff --git a/linux/atlassian/jira/8/8.13.1/Dockerfile b/linux/atlassian/jira/8/8.13.1/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.1/Makefile b/linux/atlassian/jira/8/8.13.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.1/docker-compose.yml b/linux/atlassian/jira/8/8.13.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.1/entrypoint.sh b/linux/atlassian/jira/8/8.13.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.2/.env b/linux/atlassian/jira/8/8.13.2/.env new file mode 100644 index 000000000..27b7f82f8 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.2.tar.gz diff --git a/linux/atlassian/jira/8/8.13.2/Dockerfile b/linux/atlassian/jira/8/8.13.2/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.2/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.2/Makefile b/linux/atlassian/jira/8/8.13.2/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.2/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.2/docker-compose.yml b/linux/atlassian/jira/8/8.13.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.2/entrypoint.sh b/linux/atlassian/jira/8/8.13.2/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.2/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.3/.env b/linux/atlassian/jira/8/8.13.3/.env new file mode 100644 index 000000000..f13de08c6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.3.tar.gz diff --git a/linux/atlassian/jira/8/8.13.3/Dockerfile b/linux/atlassian/jira/8/8.13.3/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.3/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.3/Makefile b/linux/atlassian/jira/8/8.13.3/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.3/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.3/docker-compose.yml b/linux/atlassian/jira/8/8.13.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.3/entrypoint.sh b/linux/atlassian/jira/8/8.13.3/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.3/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.4/.env b/linux/atlassian/jira/8/8.13.4/.env new file mode 100644 index 000000000..7223b5952 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.4/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.4.tar.gz diff --git a/linux/atlassian/jira/8/8.13.4/Dockerfile b/linux/atlassian/jira/8/8.13.4/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.4/Makefile b/linux/atlassian/jira/8/8.13.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.4/docker-compose.yml b/linux/atlassian/jira/8/8.13.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.4/entrypoint.sh b/linux/atlassian/jira/8/8.13.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.5/.env b/linux/atlassian/jira/8/8.13.5/.env new file mode 100644 index 000000000..f98b530d3 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.5/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.5.tar.gz diff --git a/linux/atlassian/jira/8/8.13.5/Dockerfile b/linux/atlassian/jira/8/8.13.5/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.5/Makefile b/linux/atlassian/jira/8/8.13.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.5/docker-compose.yml b/linux/atlassian/jira/8/8.13.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.5/entrypoint.sh b/linux/atlassian/jira/8/8.13.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.6/.env b/linux/atlassian/jira/8/8.13.6/.env new file mode 100644 index 000000000..0fa64c96b --- /dev/null +++ b/linux/atlassian/jira/8/8.13.6/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.6.tar.gz diff --git a/linux/atlassian/jira/8/8.13.6/Dockerfile b/linux/atlassian/jira/8/8.13.6/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.6/Makefile b/linux/atlassian/jira/8/8.13.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.6/docker-compose.yml b/linux/atlassian/jira/8/8.13.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.6/entrypoint.sh b/linux/atlassian/jira/8/8.13.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.13.7/.env b/linux/atlassian/jira/8/8.13.7/.env new file mode 100644 index 000000000..aeb2619a7 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.7/.env @@ -0,0 +1,3 @@ + +RELEASE=8.13.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.13.7.tar.gz diff --git a/linux/atlassian/jira/8/8.13.7/Dockerfile b/linux/atlassian/jira/8/8.13.7/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.13.7/Makefile b/linux/atlassian/jira/8/8.13.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.13.7/docker-compose.yml b/linux/atlassian/jira/8/8.13.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.13.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.13.7/entrypoint.sh b/linux/atlassian/jira/8/8.13.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.13.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.14.0/.env b/linux/atlassian/jira/8/8.14.0/.env new file mode 100644 index 000000000..a474275b4 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.14.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.14.0.tar.gz diff --git a/linux/atlassian/jira/8/8.14.0/Dockerfile b/linux/atlassian/jira/8/8.14.0/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.0/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.14.0/Makefile b/linux/atlassian/jira/8/8.14.0/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.0/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.14.0/docker-compose.yml b/linux/atlassian/jira/8/8.14.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.14.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.14.0/entrypoint.sh b/linux/atlassian/jira/8/8.14.0/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.14.1/.env b/linux/atlassian/jira/8/8.14.1/.env new file mode 100644 index 000000000..1fd499014 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.14.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.14.1.tar.gz diff --git a/linux/atlassian/jira/8/8.14.1/Dockerfile b/linux/atlassian/jira/8/8.14.1/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.14.1/Makefile b/linux/atlassian/jira/8/8.14.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.14.1/docker-compose.yml b/linux/atlassian/jira/8/8.14.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.14.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.14.1/entrypoint.sh b/linux/atlassian/jira/8/8.14.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.14.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.15.0/.env b/linux/atlassian/jira/8/8.15.0/.env new file mode 100644 index 000000000..b0d9a9932 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.15.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.15.0.tar.gz diff --git a/linux/atlassian/jira/8/8.15.0/Dockerfile b/linux/atlassian/jira/8/8.15.0/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.0/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.15.0/Makefile b/linux/atlassian/jira/8/8.15.0/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.0/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.15.0/docker-compose.yml b/linux/atlassian/jira/8/8.15.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.15.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.15.0/entrypoint.sh b/linux/atlassian/jira/8/8.15.0/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.15.1/.env b/linux/atlassian/jira/8/8.15.1/.env new file mode 100644 index 000000000..ed62260b1 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.15.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.15.1.tar.gz diff --git a/linux/atlassian/jira/8/8.15.1/Dockerfile b/linux/atlassian/jira/8/8.15.1/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.15.1/Makefile b/linux/atlassian/jira/8/8.15.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.15.1/docker-compose.yml b/linux/atlassian/jira/8/8.15.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.15.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.15.1/entrypoint.sh b/linux/atlassian/jira/8/8.15.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.15.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.16.0/.env b/linux/atlassian/jira/8/8.16.0/.env new file mode 100644 index 000000000..8456f56fc --- /dev/null +++ b/linux/atlassian/jira/8/8.16.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.16.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.16.0.tar.gz diff --git a/linux/atlassian/jira/8/8.16.0/Dockerfile b/linux/atlassian/jira/8/8.16.0/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.16.0/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.16.0/Makefile b/linux/atlassian/jira/8/8.16.0/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.16.0/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.16.0/docker-compose.yml b/linux/atlassian/jira/8/8.16.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.16.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.16.0/entrypoint.sh b/linux/atlassian/jira/8/8.16.0/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.16.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.16.1/.env b/linux/atlassian/jira/8/8.16.1/.env new file mode 100644 index 000000000..f3b21a58c --- /dev/null +++ b/linux/atlassian/jira/8/8.16.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.16.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.16.1.tar.gz diff --git a/linux/atlassian/jira/8/8.16.1/Dockerfile b/linux/atlassian/jira/8/8.16.1/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.16.1/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.16.1/Makefile b/linux/atlassian/jira/8/8.16.1/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.16.1/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.16.1/docker-compose.yml b/linux/atlassian/jira/8/8.16.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.16.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.16.1/entrypoint.sh b/linux/atlassian/jira/8/8.16.1/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.16.1/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.17.0/.env b/linux/atlassian/jira/8/8.17.0/.env new file mode 100644 index 000000000..a127c6f7b --- /dev/null +++ b/linux/atlassian/jira/8/8.17.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.17.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.17.0.tar.gz diff --git a/linux/atlassian/jira/8/8.17.0/Dockerfile b/linux/atlassian/jira/8/8.17.0/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.17.0/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.17.0/Makefile b/linux/atlassian/jira/8/8.17.0/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.17.0/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.17.0/docker-compose.yml b/linux/atlassian/jira/8/8.17.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.17.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.17.0/entrypoint.sh b/linux/atlassian/jira/8/8.17.0/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.17.0/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.2.0/.env b/linux/atlassian/jira/8/8.2.0/.env new file mode 100644 index 000000000..8186fc65d --- /dev/null +++ b/linux/atlassian/jira/8/8.2.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.0.tar.gz diff --git a/linux/atlassian/jira/8/8.2.0/Dockerfile b/linux/atlassian/jira/8/8.2.0/Dockerfile index 53e0b84be..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.0/Dockerfile +++ b/linux/atlassian/jira/8/8.2.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.0/Makefile b/linux/atlassian/jira/8/8.2.0/Makefile index 6430df6d3..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.0/Makefile +++ b/linux/atlassian/jira/8/8.2.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.0/docker-compose.yml b/linux/atlassian/jira/8/8.2.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.2.1/.env b/linux/atlassian/jira/8/8.2.1/.env new file mode 100644 index 000000000..e4d9d560c --- /dev/null +++ b/linux/atlassian/jira/8/8.2.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.1.tar.gz diff --git a/linux/atlassian/jira/8/8.2.1/Dockerfile b/linux/atlassian/jira/8/8.2.1/Dockerfile index 2bcd39287..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.1/Dockerfile +++ b/linux/atlassian/jira/8/8.2.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.1/Makefile b/linux/atlassian/jira/8/8.2.1/Makefile index 20d6118ee..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.1/Makefile +++ b/linux/atlassian/jira/8/8.2.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.1/docker-compose.yml b/linux/atlassian/jira/8/8.2.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.2.2/.env b/linux/atlassian/jira/8/8.2.2/.env new file mode 100644 index 000000000..ecce21b1b --- /dev/null +++ b/linux/atlassian/jira/8/8.2.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.2.tar.gz diff --git a/linux/atlassian/jira/8/8.2.2/Dockerfile b/linux/atlassian/jira/8/8.2.2/Dockerfile index 1ad98368d..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.2/Dockerfile +++ b/linux/atlassian/jira/8/8.2.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.2/Makefile b/linux/atlassian/jira/8/8.2.2/Makefile index 4ed1126fa..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.2/Makefile +++ b/linux/atlassian/jira/8/8.2.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.2/docker-compose.yml b/linux/atlassian/jira/8/8.2.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.2.3/.env b/linux/atlassian/jira/8/8.2.3/.env new file mode 100644 index 000000000..b81ba31da --- /dev/null +++ b/linux/atlassian/jira/8/8.2.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.3.tar.gz diff --git a/linux/atlassian/jira/8/8.2.3/Dockerfile b/linux/atlassian/jira/8/8.2.3/Dockerfile index 7b22fae69..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.3/Dockerfile +++ b/linux/atlassian/jira/8/8.2.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.3/Makefile b/linux/atlassian/jira/8/8.2.3/Makefile index a0971b5ed..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.3/Makefile +++ b/linux/atlassian/jira/8/8.2.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.3/docker-compose.yml b/linux/atlassian/jira/8/8.2.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.2.4/.env b/linux/atlassian/jira/8/8.2.4/.env new file mode 100644 index 000000000..fb78ea238 --- /dev/null +++ b/linux/atlassian/jira/8/8.2.4/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.4.tar.gz diff --git a/linux/atlassian/jira/8/8.2.4/Dockerfile b/linux/atlassian/jira/8/8.2.4/Dockerfile index bb0bf7d45..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.4/Dockerfile +++ b/linux/atlassian/jira/8/8.2.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.4/Makefile b/linux/atlassian/jira/8/8.2.4/Makefile index ecfb821c9..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.4/Makefile +++ b/linux/atlassian/jira/8/8.2.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.4/docker-compose.yml b/linux/atlassian/jira/8/8.2.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.2.5/.env b/linux/atlassian/jira/8/8.2.5/.env new file mode 100644 index 000000000..4cb26072f --- /dev/null +++ b/linux/atlassian/jira/8/8.2.5/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.5.tar.gz diff --git a/linux/atlassian/jira/8/8.2.5/Dockerfile b/linux/atlassian/jira/8/8.2.5/Dockerfile index 2f741b295..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.5/Dockerfile +++ b/linux/atlassian/jira/8/8.2.5/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.5/Makefile b/linux/atlassian/jira/8/8.2.5/Makefile index 3cbc72272..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.5/Makefile +++ b/linux/atlassian/jira/8/8.2.5/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.5 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.5/docker-compose.yml b/linux/atlassian/jira/8/8.2.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.2.6/.env b/linux/atlassian/jira/8/8.2.6/.env new file mode 100644 index 000000000..3f4cffe90 --- /dev/null +++ b/linux/atlassian/jira/8/8.2.6/.env @@ -0,0 +1,3 @@ + +RELEASE=8.2.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.2.6.tar.gz diff --git a/linux/atlassian/jira/8/8.2.6/Dockerfile b/linux/atlassian/jira/8/8.2.6/Dockerfile index 6c52750a8..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.2.6/Dockerfile +++ b/linux/atlassian/jira/8/8.2.6/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.2.6 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.2.6/Makefile b/linux/atlassian/jira/8/8.2.6/Makefile index f4ed77086..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.2.6/Makefile +++ b/linux/atlassian/jira/8/8.2.6/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.2.6 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.2.6/docker-compose.yml b/linux/atlassian/jira/8/8.2.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.2.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.3.0/.env b/linux/atlassian/jira/8/8.3.0/.env new file mode 100644 index 000000000..0216992f4 --- /dev/null +++ b/linux/atlassian/jira/8/8.3.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.3.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.3.0.tar.gz diff --git a/linux/atlassian/jira/8/8.3.0/Dockerfile b/linux/atlassian/jira/8/8.3.0/Dockerfile index 6918c3f1f..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.3.0/Dockerfile +++ b/linux/atlassian/jira/8/8.3.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.3.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.3.0/Makefile b/linux/atlassian/jira/8/8.3.0/Makefile index 72bad8d70..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.3.0/Makefile +++ b/linux/atlassian/jira/8/8.3.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.3.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.3.0/docker-compose.yml b/linux/atlassian/jira/8/8.3.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.3.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.3.1/.env b/linux/atlassian/jira/8/8.3.1/.env new file mode 100644 index 000000000..4138b3a7e --- /dev/null +++ b/linux/atlassian/jira/8/8.3.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.3.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.3.1.tar.gz diff --git a/linux/atlassian/jira/8/8.3.1/Dockerfile b/linux/atlassian/jira/8/8.3.1/Dockerfile index 45123d298..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.3.1/Dockerfile +++ b/linux/atlassian/jira/8/8.3.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.3.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.3.1/Makefile b/linux/atlassian/jira/8/8.3.1/Makefile index c2f6fb33a..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.3.1/Makefile +++ b/linux/atlassian/jira/8/8.3.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.3.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.3.1/docker-compose.yml b/linux/atlassian/jira/8/8.3.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.3.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.3.2/.env b/linux/atlassian/jira/8/8.3.2/.env new file mode 100644 index 000000000..45f038a20 --- /dev/null +++ b/linux/atlassian/jira/8/8.3.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.3.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.3.2.tar.gz diff --git a/linux/atlassian/jira/8/8.3.2/Dockerfile b/linux/atlassian/jira/8/8.3.2/Dockerfile index 8ef1bc261..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.3.2/Dockerfile +++ b/linux/atlassian/jira/8/8.3.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.3.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.3.2/Makefile b/linux/atlassian/jira/8/8.3.2/Makefile index 172eec6e5..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.3.2/Makefile +++ b/linux/atlassian/jira/8/8.3.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.3.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.3.2/docker-compose.yml b/linux/atlassian/jira/8/8.3.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.3.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.3.3/.env b/linux/atlassian/jira/8/8.3.3/.env new file mode 100644 index 000000000..46646cbf0 --- /dev/null +++ b/linux/atlassian/jira/8/8.3.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.3.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.3.3.tar.gz diff --git a/linux/atlassian/jira/8/8.3.3/Dockerfile b/linux/atlassian/jira/8/8.3.3/Dockerfile index 55ec899e1..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.3.3/Dockerfile +++ b/linux/atlassian/jira/8/8.3.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.3.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.3.3/Makefile b/linux/atlassian/jira/8/8.3.3/Makefile index 0adece15c..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.3.3/Makefile +++ b/linux/atlassian/jira/8/8.3.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.3.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.3.3/docker-compose.yml b/linux/atlassian/jira/8/8.3.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.3.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.3.4/.env b/linux/atlassian/jira/8/8.3.4/.env new file mode 100644 index 000000000..a5baa0514 --- /dev/null +++ b/linux/atlassian/jira/8/8.3.4/.env @@ -0,0 +1,3 @@ + +RELEASE=8.3.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.3.4.tar.gz diff --git a/linux/atlassian/jira/8/8.3.4/Dockerfile b/linux/atlassian/jira/8/8.3.4/Dockerfile index 3bd48bf31..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.3.4/Dockerfile +++ b/linux/atlassian/jira/8/8.3.4/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.3.4 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.3.4/Makefile b/linux/atlassian/jira/8/8.3.4/Makefile index 574b3a88e..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.3.4/Makefile +++ b/linux/atlassian/jira/8/8.3.4/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.3.4 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.3.4/docker-compose.yml b/linux/atlassian/jira/8/8.3.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.3.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.3.5/.env b/linux/atlassian/jira/8/8.3.5/.env new file mode 100644 index 000000000..f074992fa --- /dev/null +++ b/linux/atlassian/jira/8/8.3.5/.env @@ -0,0 +1,3 @@ + +RELEASE=8.3.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.3.5.tar.gz diff --git a/linux/atlassian/jira/8/8.3.5/Dockerfile b/linux/atlassian/jira/8/8.3.5/Dockerfile index 6e2cdb970..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.3.5/Dockerfile +++ b/linux/atlassian/jira/8/8.3.5/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.3.5 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.3.5/Makefile b/linux/atlassian/jira/8/8.3.5/Makefile index b97785a03..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.3.5/Makefile +++ b/linux/atlassian/jira/8/8.3.5/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.3.5 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.3.5/docker-compose.yml b/linux/atlassian/jira/8/8.3.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.3.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.4.0/.env b/linux/atlassian/jira/8/8.4.0/.env new file mode 100644 index 000000000..24c141081 --- /dev/null +++ b/linux/atlassian/jira/8/8.4.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.4.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.4.0.tar.gz diff --git a/linux/atlassian/jira/8/8.4.0/Dockerfile b/linux/atlassian/jira/8/8.4.0/Dockerfile index b4d523351..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.4.0/Dockerfile +++ b/linux/atlassian/jira/8/8.4.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.4.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.4.0/Makefile b/linux/atlassian/jira/8/8.4.0/Makefile index 67e871ef6..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.4.0/Makefile +++ b/linux/atlassian/jira/8/8.4.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.4.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.4.0/docker-compose.yml b/linux/atlassian/jira/8/8.4.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.4.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.4.1/.env b/linux/atlassian/jira/8/8.4.1/.env new file mode 100644 index 000000000..33a722aa9 --- /dev/null +++ b/linux/atlassian/jira/8/8.4.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.4.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.4.1.tar.gz diff --git a/linux/atlassian/jira/8/8.4.1/Dockerfile b/linux/atlassian/jira/8/8.4.1/Dockerfile index 901adc69e..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.4.1/Dockerfile +++ b/linux/atlassian/jira/8/8.4.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.4.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.4.1/Makefile b/linux/atlassian/jira/8/8.4.1/Makefile index c17e33929..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.4.1/Makefile +++ b/linux/atlassian/jira/8/8.4.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.4.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.4.1/docker-compose.yml b/linux/atlassian/jira/8/8.4.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.4.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.4.2/.env b/linux/atlassian/jira/8/8.4.2/.env new file mode 100644 index 000000000..4958ef37d --- /dev/null +++ b/linux/atlassian/jira/8/8.4.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.4.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.4.2.tar.gz diff --git a/linux/atlassian/jira/8/8.4.2/Dockerfile b/linux/atlassian/jira/8/8.4.2/Dockerfile index 2497ee702..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.4.2/Dockerfile +++ b/linux/atlassian/jira/8/8.4.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.4.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.4.2/Makefile b/linux/atlassian/jira/8/8.4.2/Makefile index f306219ff..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.4.2/Makefile +++ b/linux/atlassian/jira/8/8.4.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.4.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.4.2/docker-compose.yml b/linux/atlassian/jira/8/8.4.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.4.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.4.3/.env b/linux/atlassian/jira/8/8.4.3/.env new file mode 100644 index 000000000..82c7a1734 --- /dev/null +++ b/linux/atlassian/jira/8/8.4.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.4.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.4.3.tar.gz diff --git a/linux/atlassian/jira/8/8.4.3/Dockerfile b/linux/atlassian/jira/8/8.4.3/Dockerfile index 52f582346..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.4.3/Dockerfile +++ b/linux/atlassian/jira/8/8.4.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.4.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.4.3/Makefile b/linux/atlassian/jira/8/8.4.3/Makefile index e7fd13f05..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.4.3/Makefile +++ b/linux/atlassian/jira/8/8.4.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.4.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.4.3/docker-compose.yml b/linux/atlassian/jira/8/8.4.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.4.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.0/.env b/linux/atlassian/jira/8/8.5.0/.env new file mode 100644 index 000000000..0f523d9b4 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.0.tar.gz diff --git a/linux/atlassian/jira/8/8.5.0/Dockerfile b/linux/atlassian/jira/8/8.5.0/Dockerfile index 3899c4039..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.5.0/Dockerfile +++ b/linux/atlassian/jira/8/8.5.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.5.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.5.0/Makefile b/linux/atlassian/jira/8/8.5.0/Makefile index 54f206019..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.5.0/Makefile +++ b/linux/atlassian/jira/8/8.5.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.5.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.0/docker-compose.yml b/linux/atlassian/jira/8/8.5.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.1/.env b/linux/atlassian/jira/8/8.5.1/.env new file mode 100644 index 000000000..21a61a85b --- /dev/null +++ b/linux/atlassian/jira/8/8.5.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.1.tar.gz diff --git a/linux/atlassian/jira/8/8.5.1/Dockerfile b/linux/atlassian/jira/8/8.5.1/Dockerfile index b7aba9776..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.5.1/Dockerfile +++ b/linux/atlassian/jira/8/8.5.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.5.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.5.1/Makefile b/linux/atlassian/jira/8/8.5.1/Makefile index 128178b1b..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.5.1/Makefile +++ b/linux/atlassian/jira/8/8.5.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.5.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.1/docker-compose.yml b/linux/atlassian/jira/8/8.5.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.10/.env b/linux/atlassian/jira/8/8.5.10/.env new file mode 100644 index 000000000..3243ca5b4 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.10/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.10 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.10.tar.gz diff --git a/linux/atlassian/jira/8/8.5.10/Dockerfile b/linux/atlassian/jira/8/8.5.10/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.10/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.10/Makefile b/linux/atlassian/jira/8/8.5.10/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.10/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.10/docker-compose.yml b/linux/atlassian/jira/8/8.5.10/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.10/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.10/entrypoint.sh b/linux/atlassian/jira/8/8.5.10/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.10/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.11/.env b/linux/atlassian/jira/8/8.5.11/.env new file mode 100644 index 000000000..d3025f9e9 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.11/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.11 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.11.tar.gz diff --git a/linux/atlassian/jira/8/8.5.11/Dockerfile b/linux/atlassian/jira/8/8.5.11/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.11/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.11/Makefile b/linux/atlassian/jira/8/8.5.11/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.11/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.11/docker-compose.yml b/linux/atlassian/jira/8/8.5.11/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.11/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.11/entrypoint.sh b/linux/atlassian/jira/8/8.5.11/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.11/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.12/.env b/linux/atlassian/jira/8/8.5.12/.env new file mode 100644 index 000000000..ec8f898c3 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.12/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.12 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.12.tar.gz diff --git a/linux/atlassian/jira/8/8.5.12/Dockerfile b/linux/atlassian/jira/8/8.5.12/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.12/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.12/Makefile b/linux/atlassian/jira/8/8.5.12/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.12/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.12/docker-compose.yml b/linux/atlassian/jira/8/8.5.12/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.12/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.12/entrypoint.sh b/linux/atlassian/jira/8/8.5.12/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.12/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.13/.env b/linux/atlassian/jira/8/8.5.13/.env new file mode 100644 index 000000000..caff9188f --- /dev/null +++ b/linux/atlassian/jira/8/8.5.13/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.13 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.13.tar.gz diff --git a/linux/atlassian/jira/8/8.5.13/Dockerfile b/linux/atlassian/jira/8/8.5.13/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.13/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.13/Makefile b/linux/atlassian/jira/8/8.5.13/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.13/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.13/docker-compose.yml b/linux/atlassian/jira/8/8.5.13/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.13/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.13/entrypoint.sh b/linux/atlassian/jira/8/8.5.13/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.13/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.14/.env b/linux/atlassian/jira/8/8.5.14/.env new file mode 100644 index 000000000..45363ab48 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.14/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.14 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.14.tar.gz diff --git a/linux/atlassian/jira/8/8.5.14/Dockerfile b/linux/atlassian/jira/8/8.5.14/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.14/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.14/Makefile b/linux/atlassian/jira/8/8.5.14/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.14/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.14/docker-compose.yml b/linux/atlassian/jira/8/8.5.14/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.14/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.14/entrypoint.sh b/linux/atlassian/jira/8/8.5.14/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.14/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.15/.env b/linux/atlassian/jira/8/8.5.15/.env new file mode 100644 index 000000000..7fc2bbf2c --- /dev/null +++ b/linux/atlassian/jira/8/8.5.15/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.15 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.15.tar.gz diff --git a/linux/atlassian/jira/8/8.5.15/Dockerfile b/linux/atlassian/jira/8/8.5.15/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.15/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.15/Makefile b/linux/atlassian/jira/8/8.5.15/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.15/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.15/docker-compose.yml b/linux/atlassian/jira/8/8.5.15/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.15/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.15/entrypoint.sh b/linux/atlassian/jira/8/8.5.15/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.15/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.2/.env b/linux/atlassian/jira/8/8.5.2/.env new file mode 100644 index 000000000..3bb8ec0a5 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.2/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.2 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.2.tar.gz diff --git a/linux/atlassian/jira/8/8.5.2/Dockerfile b/linux/atlassian/jira/8/8.5.2/Dockerfile index 4f9d13f41..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.5.2/Dockerfile +++ b/linux/atlassian/jira/8/8.5.2/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.5.2 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.5.2/Makefile b/linux/atlassian/jira/8/8.5.2/Makefile index c230d45b7..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.5.2/Makefile +++ b/linux/atlassian/jira/8/8.5.2/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.5.2 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.2/docker-compose.yml b/linux/atlassian/jira/8/8.5.2/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.2/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.3/.env b/linux/atlassian/jira/8/8.5.3/.env new file mode 100644 index 000000000..31cefc43f --- /dev/null +++ b/linux/atlassian/jira/8/8.5.3/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.3 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.3.tar.gz diff --git a/linux/atlassian/jira/8/8.5.3/Dockerfile b/linux/atlassian/jira/8/8.5.3/Dockerfile index 03d935dfa..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.5.3/Dockerfile +++ b/linux/atlassian/jira/8/8.5.3/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.5.3 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.5.3/Makefile b/linux/atlassian/jira/8/8.5.3/Makefile index 431d0ee96..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.5.3/Makefile +++ b/linux/atlassian/jira/8/8.5.3/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.5.3 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.3/docker-compose.yml b/linux/atlassian/jira/8/8.5.3/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.3/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.4/.env b/linux/atlassian/jira/8/8.5.4/.env new file mode 100644 index 000000000..df5447f55 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.4/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.4 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.4.tar.gz diff --git a/linux/atlassian/jira/8/8.5.4/Dockerfile b/linux/atlassian/jira/8/8.5.4/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.4/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.4/Makefile b/linux/atlassian/jira/8/8.5.4/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.4/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.4/docker-compose.yml b/linux/atlassian/jira/8/8.5.4/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.4/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.4/entrypoint.sh b/linux/atlassian/jira/8/8.5.4/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.4/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.5/.env b/linux/atlassian/jira/8/8.5.5/.env new file mode 100644 index 000000000..146fc224e --- /dev/null +++ b/linux/atlassian/jira/8/8.5.5/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.5 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.5.tar.gz diff --git a/linux/atlassian/jira/8/8.5.5/Dockerfile b/linux/atlassian/jira/8/8.5.5/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.5/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.5/Makefile b/linux/atlassian/jira/8/8.5.5/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.5/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.5/docker-compose.yml b/linux/atlassian/jira/8/8.5.5/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.5/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.5/entrypoint.sh b/linux/atlassian/jira/8/8.5.5/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.5/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.6/.env b/linux/atlassian/jira/8/8.5.6/.env new file mode 100644 index 000000000..ebeba348f --- /dev/null +++ b/linux/atlassian/jira/8/8.5.6/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.6 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.6.tar.gz diff --git a/linux/atlassian/jira/8/8.5.6/Dockerfile b/linux/atlassian/jira/8/8.5.6/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.6/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.6/Makefile b/linux/atlassian/jira/8/8.5.6/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.6/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.6/docker-compose.yml b/linux/atlassian/jira/8/8.5.6/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.6/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.6/entrypoint.sh b/linux/atlassian/jira/8/8.5.6/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.6/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.7/.env b/linux/atlassian/jira/8/8.5.7/.env new file mode 100644 index 000000000..6ef4a2bf2 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.7/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.7 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.7.tar.gz diff --git a/linux/atlassian/jira/8/8.5.7/Dockerfile b/linux/atlassian/jira/8/8.5.7/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.7/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.7/Makefile b/linux/atlassian/jira/8/8.5.7/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.7/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.7/docker-compose.yml b/linux/atlassian/jira/8/8.5.7/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.7/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.7/entrypoint.sh b/linux/atlassian/jira/8/8.5.7/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.7/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.8/.env b/linux/atlassian/jira/8/8.5.8/.env new file mode 100644 index 000000000..f7dc343a8 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.8/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.8 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.8.tar.gz diff --git a/linux/atlassian/jira/8/8.5.8/Dockerfile b/linux/atlassian/jira/8/8.5.8/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.8/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.8/Makefile b/linux/atlassian/jira/8/8.5.8/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.8/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.8/docker-compose.yml b/linux/atlassian/jira/8/8.5.8/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.8/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.8/entrypoint.sh b/linux/atlassian/jira/8/8.5.8/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.8/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.5.9/.env b/linux/atlassian/jira/8/8.5.9/.env new file mode 100644 index 000000000..43b6cb5de --- /dev/null +++ b/linux/atlassian/jira/8/8.5.9/.env @@ -0,0 +1,3 @@ + +RELEASE=8.5.9 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.5.9.tar.gz diff --git a/linux/atlassian/jira/8/8.5.9/Dockerfile b/linux/atlassian/jira/8/8.5.9/Dockerfile new file mode 100644 index 000000000..b04d36d00 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.9/Dockerfile @@ -0,0 +1,50 @@ +FROM epicmorg/prod:jdk8 +LABEL maintainer="Atlassian Jira Server Team; EpicMorg DevTeam, developer@epicm.org" +ARG DEBIAN_FRONTEND=noninteractive + +################################################################## +# ARGuments +################################################################## + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + + +################################################################## +# Setup +################################################################## +ENV RUN_USER daemon +ENV RUN_GROUP daemon + +# 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 + +VOLUME ["${JIRA_HOME}"] +WORKDIR $JIRA_HOME + +# Expose HTTP port +EXPOSE 8080 + +################################################################## +# Installing +################################################################## +RUN mkdir -p ${JIRA_INSTALL_DIR} \ + && curl -L ${DOWNLOAD_URL} | tar -xz --strip-components=1 -C "$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/grep "java version"/grep -E "(openjdk|java) version"/g' ${JIRA_INSTALL_DIR}/bin/check-java.sh \ + && sed -i -e 's/port="8080"/port="8080" secure="${catalinaConnectorSecure}" scheme="${catalinaConnectorScheme}" proxyName="${catalinaConnectorProxyName}" proxyPort="${catalinaConnectorProxyPort}"/' ${JIRA_INSTALL_DIR}/conf/server.xml && \ + + update-locale LC_ALL=en_US.UTF-8 LANG=en_US.UTF-8 && \ + apt clean -y && \ + apt autoclean -y && \ + rm -rfv /var/lib/apt/lists/* && \ + rm -rfv /var/cache/apt/archives/*.deb + +CMD ["/entrypoint.sh", "-fg"] +ENTRYPOINT ["/usr/bin/tini", "--"] +COPY entrypoint.sh /entrypoint.sh +COPY . /tmp diff --git a/linux/atlassian/jira/8/8.5.9/Makefile b/linux/atlassian/jira/8/8.5.9/Makefile new file mode 100644 index 000000000..82c5a2de6 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.9/Makefile @@ -0,0 +1,5 @@ +all: app + +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.5.9/docker-compose.yml b/linux/atlassian/jira/8/8.5.9/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.5.9/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.5.9/entrypoint.sh b/linux/atlassian/jira/8/8.5.9/entrypoint.sh new file mode 100644 index 000000000..50ee4ecd1 --- /dev/null +++ b/linux/atlassian/jira/8/8.5.9/entrypoint.sh @@ -0,0 +1,89 @@ +#!/bin/bash +set -euo pipefail + +export JAVA_HOME=$(readlink -f /usr/bin/javac | sed "s:/bin/javac::") +export JRE_HOME="$JAVA_HOME/jre" +export JAVA_BINARY="$JRE_HOME/bin/java" +export JAVA_VERSION=$("$JAVA_BINARY" -version 2>&1 | awk -F '"' '/version/ {print $2}') + +# Setup Catalina Opts +: ${CATALINA_CONNECTOR_PROXYNAME:=} +: ${CATALINA_CONNECTOR_PROXYPORT:=} +: ${CATALINA_CONNECTOR_SCHEME:=http} +: ${CATALINA_CONNECTOR_SECURE:=false} + +: ${CATALINA_OPTS:=} + +: ${JAVA_OPTS:=} + +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyName=${CATALINA_CONNECTOR_PROXYNAME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorProxyPort=${CATALINA_CONNECTOR_PROXYPORT}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorScheme=${CATALINA_CONNECTOR_SCHEME}" +CATALINA_OPTS="${CATALINA_OPTS} -DcatalinaConnectorSecure=${CATALINA_CONNECTOR_SECURE}" + +export JAVA_OPTS="${JAVA_OPTS} ${CATALINA_OPTS}" + +# Setup Data Center configuration +if [ ! -f "/etc/container_id" ]; then + uuidgen > /etc/container_id +fi +CONTAINER_ID=$(cat /etc/container_id) +CONTAINER_SHORT_ID=${CONTAINER_ID::8} + +: ${CLUSTERED:=false} +: ${JIRA_NODE_ID:=jira_node_${CONTAINER_SHORT_ID}} +: ${JIRA_SHARED_HOME:=${JIRA_HOME}/shared} +: ${EHCACHE_PEER_DISCOVERY:=} +: ${EHCACHE_LISTENER_HOSTNAME:=} +: ${EHCACHE_LISTENER_PORT:=} +: ${EHCACHE_LISTENER_SOCKETTIMEOUTMILLIS:=} +: ${EHCACHE_MULTICAST_ADDRESS:=} +: ${EHCACHE_MULTICAST_PORT:=} +: ${EHCACHE_MULTICAST_TIMETOLIVE:=} +: ${EHCACHE_MULTICAST_HOSTNAME:=} + +# Cleanly set/unset values in cluster.properties +function set_cluster_property { + if [ -z $2 ]; then + if [ -f "${JIRA_HOME}/cluster.properties" ]; then + sed -i -e "/^${1}/d" "${JIRA_HOME}/cluster.properties" + fi + return + fi + if [ ! -f "${JIRA_HOME}/cluster.properties" ]; then + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + elif grep "^${1}" "${JIRA_HOME}/cluster.properties"; then + sed -i -e "s#^${1}=.*#${1}=${2}#g" "${JIRA_HOME}/cluster.properties" + else + echo "${1}=${2}" >> "${JIRA_HOME}/cluster.properties" + fi +} + +if [ "${CLUSTERED}" == "true" ]; then + set_cluster_property "jira.node.id" "${JIRA_NODE_ID}" + set_cluster_property "jira.shared.home" "${JIRA_SHARED_HOME}" + set_cluster_property "ehcache.peer.discovery" "${EHCACHE_PEER_DISCOVERY}" + set_cluster_property "ehcache.listener.hostName" "${EHCACHE_LISTENER_HOSTNAME}" + set_cluster_property "ehcache.listener.port" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.listener.socketTimeoutMillis" "${EHCACHE_LISTENER_PORT}" + set_cluster_property "ehcache.multicast.address" "${EHCACHE_MULTICAST_ADDRESS}" + set_cluster_property "ehcache.multicast.port" "${EHCACHE_MULTICAST_PORT}" + set_cluster_property "ehcache.multicast.timeToLive" "${EHCACHE_MULTICAST_TIMETOLIVE}" + set_cluster_property "ehcache.multicast.hostName" "${EHCACHE_MULTICAST_HOSTNAME}" +fi + + +# Start Jira as the correct user +if [ "${UID}" -eq 0 ]; then + echo "User is currently root. Will change directory ownership to ${RUN_USER}:${RUN_GROUP}, then downgrade permission to ${RUN_USER}" + PERMISSIONS_SIGNATURE=$(stat -c "%u:%U:%a" "${JIRA_HOME}") + EXPECTED_PERMISSIONS=$(id -u ${RUN_USER}):${RUN_USER}:700 + if [ "${PERMISSIONS_SIGNATURE}" != "${EXPECTED_PERMISSIONS}" ]; then + chmod -R 700 "${JIRA_HOME}" && + chown -R "${RUN_USER}:${RUN_GROUP}" "${JIRA_HOME}" + fi + # Now drop privileges + exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@" +else + exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@" +fi diff --git a/linux/atlassian/jira/8/8.6.0/.env b/linux/atlassian/jira/8/8.6.0/.env new file mode 100644 index 000000000..6dab47be7 --- /dev/null +++ b/linux/atlassian/jira/8/8.6.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.6.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.6.0.tar.gz diff --git a/linux/atlassian/jira/8/8.6.0/Dockerfile b/linux/atlassian/jira/8/8.6.0/Dockerfile index 94f8835dc..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.6.0/Dockerfile +++ b/linux/atlassian/jira/8/8.6.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.6.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.6.0/Makefile b/linux/atlassian/jira/8/8.6.0/Makefile index 3e5773d79..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.6.0/Makefile +++ b/linux/atlassian/jira/8/8.6.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.6.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.6.0/docker-compose.yml b/linux/atlassian/jira/8/8.6.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.6.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.6.1/.env b/linux/atlassian/jira/8/8.6.1/.env new file mode 100644 index 000000000..edda59f4d --- /dev/null +++ b/linux/atlassian/jira/8/8.6.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.6.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.6.1.tar.gz diff --git a/linux/atlassian/jira/8/8.6.1/Dockerfile b/linux/atlassian/jira/8/8.6.1/Dockerfile index 947578d9a..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.6.1/Dockerfile +++ b/linux/atlassian/jira/8/8.6.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.6.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.6.1/Makefile b/linux/atlassian/jira/8/8.6.1/Makefile index e4bb61905..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.6.1/Makefile +++ b/linux/atlassian/jira/8/8.6.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.6.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.6.1/docker-compose.yml b/linux/atlassian/jira/8/8.6.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.6.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.7.0/.env b/linux/atlassian/jira/8/8.7.0/.env new file mode 100644 index 000000000..ce46988d9 --- /dev/null +++ b/linux/atlassian/jira/8/8.7.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.7.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.7.0.tar.gz diff --git a/linux/atlassian/jira/8/8.7.0/Dockerfile b/linux/atlassian/jira/8/8.7.0/Dockerfile index 7fd6d5251..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.7.0/Dockerfile +++ b/linux/atlassian/jira/8/8.7.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.7.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.7.0/Makefile b/linux/atlassian/jira/8/8.7.0/Makefile index c11f144f4..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.7.0/Makefile +++ b/linux/atlassian/jira/8/8.7.0/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.7.0 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.7.0/docker-compose.yml b/linux/atlassian/jira/8/8.7.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.7.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.7.1/.env b/linux/atlassian/jira/8/8.7.1/.env new file mode 100644 index 000000000..f01c054dd --- /dev/null +++ b/linux/atlassian/jira/8/8.7.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.7.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.7.1.tar.gz diff --git a/linux/atlassian/jira/8/8.7.1/Dockerfile b/linux/atlassian/jira/8/8.7.1/Dockerfile index 9460cf4cf..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.7.1/Dockerfile +++ b/linux/atlassian/jira/8/8.7.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.7.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.7.1/Makefile b/linux/atlassian/jira/8/8.7.1/Makefile index cc8c8ad31..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.7.1/Makefile +++ b/linux/atlassian/jira/8/8.7.1/Makefile @@ -1,4 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.7.1 . +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.7.1/docker-compose.yml b/linux/atlassian/jira/8/8.7.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.7.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.8.0/.env b/linux/atlassian/jira/8/8.8.0/.env new file mode 100644 index 000000000..b03224376 --- /dev/null +++ b/linux/atlassian/jira/8/8.8.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.8.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.8.0.tar.gz diff --git a/linux/atlassian/jira/8/8.8.0/Dockerfile b/linux/atlassian/jira/8/8.8.0/Dockerfile index 96c25c627..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.8.0/Dockerfile +++ b/linux/atlassian/jira/8/8.8.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.8.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.8.0/Makefile b/linux/atlassian/jira/8/8.8.0/Makefile index 461ea8958..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.8.0/Makefile +++ b/linux/atlassian/jira/8/8.8.0/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.8.0 . - docker push epicmorg/jira:8.8.0 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.8.0/docker-compose.yml b/linux/atlassian/jira/8/8.8.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.8.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.8.1/.env b/linux/atlassian/jira/8/8.8.1/.env new file mode 100644 index 000000000..ffae5db84 --- /dev/null +++ b/linux/atlassian/jira/8/8.8.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.8.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.8.1.tar.gz diff --git a/linux/atlassian/jira/8/8.8.1/Dockerfile b/linux/atlassian/jira/8/8.8.1/Dockerfile index 53e799ad5..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.8.1/Dockerfile +++ b/linux/atlassian/jira/8/8.8.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.8.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.8.1/Makefile b/linux/atlassian/jira/8/8.8.1/Makefile index d6531a3e1..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.8.1/Makefile +++ b/linux/atlassian/jira/8/8.8.1/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.8.1 . - docker push epicmorg/jira:8.8.1 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.8.1/docker-compose.yml b/linux/atlassian/jira/8/8.8.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.8.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.9.0/.env b/linux/atlassian/jira/8/8.9.0/.env new file mode 100644 index 000000000..e8c594a06 --- /dev/null +++ b/linux/atlassian/jira/8/8.9.0/.env @@ -0,0 +1,3 @@ + +RELEASE=8.9.0 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.9.0.tar.gz diff --git a/linux/atlassian/jira/8/8.9.0/Dockerfile b/linux/atlassian/jira/8/8.9.0/Dockerfile index c147ed0bd..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.9.0/Dockerfile +++ b/linux/atlassian/jira/8/8.9.0/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.9.0 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.9.0/Makefile b/linux/atlassian/jira/8/8.9.0/Makefile index 83858496b..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.9.0/Makefile +++ b/linux/atlassian/jira/8/8.9.0/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.9.0 . - docker push epicmorg/jira:8.9.0 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.9.0/docker-compose.yml b/linux/atlassian/jira/8/8.9.0/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.9.0/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file diff --git a/linux/atlassian/jira/8/8.9.1/.env b/linux/atlassian/jira/8/8.9.1/.env new file mode 100644 index 000000000..1b6d8995e --- /dev/null +++ b/linux/atlassian/jira/8/8.9.1/.env @@ -0,0 +1,3 @@ + +RELEASE=8.9.1 +DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-8.9.1.tar.gz diff --git a/linux/atlassian/jira/8/8.9.1/Dockerfile b/linux/atlassian/jira/8/8.9.1/Dockerfile index 18826bccf..b04d36d00 100644 --- a/linux/atlassian/jira/8/8.9.1/Dockerfile +++ b/linux/atlassian/jira/8/8.9.1/Dockerfile @@ -5,8 +5,11 @@ ARG DEBIAN_FRONTEND=noninteractive ################################################################## # ARGuments ################################################################## -ARG JIRA_VERSION=8.9.1 -ARG DOWNLOAD_URL=https://www.atlassian.com/software/jira/downloads/binary/atlassian-jira-software-${JIRA_VERSION}.tar.gz + +#configured by dockerfile / .ENV +ARG RELEASE +ARG DOWNLOAD_URL + ################################################################## # Setup diff --git a/linux/atlassian/jira/8/8.9.1/Makefile b/linux/atlassian/jira/8/8.9.1/Makefile index 41be07a4e..82c5a2de6 100644 --- a/linux/atlassian/jira/8/8.9.1/Makefile +++ b/linux/atlassian/jira/8/8.9.1/Makefile @@ -1,5 +1,5 @@ -all: jr +all: app -jr: - docker build --compress -t epicmorg/jira:8.9.1 . - docker push epicmorg/jira:8.9.1 +app: + docker-compose build --compress + docker-compose push diff --git a/linux/atlassian/jira/8/8.9.1/docker-compose.yml b/linux/atlassian/jira/8/8.9.1/docker-compose.yml new file mode 100644 index 000000000..4269f77ac --- /dev/null +++ b/linux/atlassian/jira/8/8.9.1/docker-compose.yml @@ -0,0 +1,9 @@ +version: '3.9' +services: + app: + image: "epicmorg/jira:${RELEASE}" + build: + context: . + args: + RELEASE: ${RELEASE} + DOWNLOAD_URL: ${DOWNLOAD_URL} \ No newline at end of file