diff --git a/Dockerfile b/Dockerfile index da2cadcaa2aeee0ec8e0f313fc7d977b52e0f0a2..d85a668fd182b03285c9801a7b6a84c6ca0aaeb8 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,4 +1,4 @@ -# Crowd +# Jetty # # REPOSITORY registry.codemate.se/jetty # VERSION 1.0.0 @@ -48,8 +48,8 @@ RUN \ sed -i -e "s/^bind-address\s*=\s*127.0.0.1/bind-address = 0.0.0.0/" /etc/mysql/my.cnf # Default Environment -ENV MYSQL no -ENV EXIM no +ENV JETTY_VERSION 9.2.2.v20140723 +ENV CARGO_VERSION 1.4.9 # Add startup script ADD init.sh /init.sh diff --git a/init.sh b/init.sh index 7cca06afcf76860287dd66498d6fb0141e7915b4..1dcbb509f04eb2357dd492d088854f437729ed37 100644 --- a/init.sh +++ b/init.sh @@ -2,6 +2,43 @@ set -e # Exit on errors -env | sort -exim4 -v -bdf -q15m & +JETTY_DIR=/opt/jetty-distribution-$JETTY_VERSION + +if [ ! -d $JETTY_DIR ]; then + curl -s -v -L "http://eclipse.org/downloads/download.php?file=/jetty/$JETTY_VERSION/dist/jetty-distribution-$JETTY_VERSION.tar.gz&r=1" | tar xzf - -C /opt + ln -s $JETTY_DIR /opt/jetty + rm -rf /opt/jetty/webapps.demo + curl -s -v -L -o /opt/jetty/webapps/cargo-jetty-7-and-onwards-deployer-$CARGO_VERSION http://repo1.maven.org/maven2/org/codehaus/cargo/cargo-jetty-7-and-onwards-deployer/$CARGO_VERSION/cargo-jetty-7-and-onwards-deployer-$CARGO_VERSION.war + useradd jetty -U -s /bin/false + chown -R jetty:jetty /opt/jetty +fi + + +if [ ${JETTY_OVERLAY:+x} ] && [ -d $JETTY_DIR ]; then + if [ -d $JETTY_OVERLAY ]; then + cp -R $JETTY_OVERLAY/* $JETTY_DIR + else + curl -s -v -L $JETTY_OVERLAY | tar xzf - -C $JETTY_DIR + fi +fi + +if [ "${START_MYSQL:-no}" = "yes" ]; then + sed -i -e "s#^user\s*=\s*mysql#user = root#" /etc/mysql/my.cnf + sed -i -e "s#^datadir\s*=\s*/var/lib/mysql#datadir = $MYSQL_DIR#" /etc/mysql/my.cnf + if [ ! -d $MYSQL_DIR ]; then + mkdir -p $MYSQL_DIR + mysql_install_db + fi + mysqld_safe & + sleep 5s + if [ ${MYSQL_INIT:+x} ] && [ -d $MYSQL_DIR ]; then + curl -s -v -L $MYSQL_INIT | mysql + fi +fi + +if [ "${START_EXIM:-no}" = "yes" ]; then + exim4 -v -bdf -q15m & +fi + +env | sort