forked from teamatldocker/confluence
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdocker-entrypoint.sh
executable file
·78 lines (63 loc) · 2.79 KB
/
docker-entrypoint.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
#!/bin/bash
#
# A helper script for ENTRYPOINT.
#
# If first CMD argument is 'confluence', then the script will bootstrap Confluence
# If CMD argument is overriden and not 'confluence', then the user wants to run
# his own process.
function createConfluenceTempDirectory() {
CONFLUENCE_CATALINA_TMPDIR=${CONF_HOME}/temp
if [ -n "${CATALINA_TMPDIR}" ]; then
CONFLUENCE_CATALINA_TMPDIR=$CATALINA_TMPDIR
fi
if [ ! -d "${CONFLUENCE_CATALINA_TMPDIR}" ]; then
mkdir -p ${CONFLUENCE_CATALINA_TMPDIR}
export CATALINA_TMPDIR="$CONFLUENCE_CATALINA_TMPDIR"
fi
}
function processConfluenceLogfileSettings() {
if [ -n "${CONFLUENCE_LOGFILE_LOCATION}" ]; then
confluence_logfile=${CONFLUENCE_LOGFILE_LOCATION}
fi
if [ ! -d "${confluence_logfile}" ]; then
mkdir -p ${confluence_logfile}
fi
}
function processConfluenceProxySettings() {
if [ -n "${CONFLUENCE_PROXY_NAME}" ]; then
xmlstarlet ed -P -S -L --insert "//Connector[not(@proxyName)]" --type attr -n proxyName --value "${CONFLUENCE_PROXY_NAME}" ${CONF_INSTALL}/conf/server.xml
fi
if [ -n "${CONFLUENCE_PROXY_PORT}" ]; then
xmlstarlet ed -P -S -L --insert "//Connector[not(@proxyPort)]" --type attr -n proxyPort --value "${CONFLUENCE_PROXY_PORT}" ${CONF_INSTALL}/conf/server.xml
fi
if [ -n "${CONFLUENCE_PROXY_SCHEME}" ]; then
xmlstarlet ed -P -S -L --insert "//Connector[not(@scheme)]" --type attr -n scheme --value "${CONFLUENCE_PROXY_SCHEME}" ${CONF_INSTALL}/conf/server.xml
fi
}
function relayConfluenceLogFiles() {
TARGET_PROPERTY=1catalina.org.apache.juli.AsyncFileHandler.directory
sed -i "/${TARGET_PROPERTY}/d" ${CONF_INSTALL}/conf/logging.properties
echo "${TARGET_PROPERTY} = ${confluence_logfile}" >> ${CONF_INSTALL}/conf/logging.properties
TARGET_PROPERTY=2localhost.org.apache.juli.AsyncFileHandler.directory
sed -i "/${TARGET_PROPERTY}/d" ${CONF_INSTALL}/conf/logging.properties
echo "${TARGET_PROPERTY} = ${confluence_logfile}" >> ${CONF_INSTALL}/conf/logging.properties
TARGET_PROPERTY=3manager.org.apache.juli.AsyncFileHandler.directory
sed -i "/${TARGET_PROPERTY}/d" ${CONF_INSTALL}/conf/logging.properties
echo "${TARGET_PROPERTY} = ${confluence_logfile}" >> ${CONF_INSTALL}/conf/logging.properties
TARGET_PROPERTY=4host-manager.org.apache.juli.AsyncFileHandler.directory
sed -i "/${TARGET_PROPERTY}/d" ${CONF_INSTALL}/conf/logging.properties
echo "${TARGET_PROPERTY} = ${confluence_logfile}" >> ${CONF_INSTALL}/conf/logging.properties
}
if [ -n "${CONFLUENCE_DELAYED_START}" ]; then
sleep ${CONFLUENCE_DELAYED_START}
fi
createConfluenceTempDirectory
processConfluenceProxySettings
if [ -n "${CONFLUENCE_LOGFILE_LOCATION}" ]; then
processConfluenceLogfileSettings
relayConfluenceLogFiles
fi
if [ "$1" = 'confluence' ]; then
/opt/atlassian/confluence/bin/start-confluence.sh -fg
fi
exec "$@"