mirror of
https://github.com/EpicMorg/docker-scripts.git
synced 2025-02-07 19:12:29 +03:00
openssl update atlassian images update updated jdk and deps like maven gradle and kotlin boringssl deprecation 12, 13, sid build fixes added nodejs23
114 lines
4.2 KiB
Bash
114 lines
4.2 KiB
Bash
#!/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
|
|
|
|
function set_home {
|
|
echo "Setting up JIRA_HOME.."
|
|
|
|
if [ -z "$JIRA_HOME" ]; then
|
|
echo "Variable JIRA_HOME is empty. Aborting"
|
|
exit 1
|
|
fi
|
|
|
|
echo "JIRA_HOME is: ${JIRA_HOME}"
|
|
|
|
echo "Patchig jira-application.properties"
|
|
sed -i "s|^jira\.home *=.*|jira.home = ${JIRA_HOME}|" ${JIRA_INSTALL_DIR}/atlassian-jira/WEB-INF/classes/jira-application.properties
|
|
|
|
}
|
|
|
|
# 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
|
|
set_home
|
|
# Now drop privileges
|
|
if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then
|
|
exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/start-jira.sh $@"
|
|
else
|
|
exec su -s /bin/bash "${RUN_USER}" -c "$JIRA_INSTALL_DIR/bin/startup.sh $@"
|
|
fi
|
|
else
|
|
set_home
|
|
if [ -f "$JIRA_INSTALL_DIR/bin/start-jira.sh" ]; then
|
|
exec "$JIRA_INSTALL_DIR/bin/start-jira.sh" "$@"
|
|
else
|
|
exec "$JIRA_INSTALL_DIR/bin/startup.sh" "$@"
|
|
fi
|
|
fi
|