From 0c458dba3f7c7a497fe148d92fed47aada9564e4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erik=20Hedenstr=C3=B6m?= <erik@hedenstroem.com> Date: Tue, 5 Aug 2014 13:11:18 +0200 Subject: [PATCH] Fixed docs. Added support for directory overlays. --- Dockerfile | 6 ++++-- README.md | 14 ++++++++++---- init.sh | 14 +++++--------- 3 files changed, 19 insertions(+), 15 deletions(-) diff --git a/Dockerfile b/Dockerfile index 6a35d4d..1295e1f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -30,8 +30,10 @@ RUN \ # Import self-signed cert as trusted CA RUN \ - openssl s_client -servername cert.codemate.se -connect codemate.se:443 </dev/null | sed -ne '/--BEGIN CERTIFICATE--/,/--END CERTIFICATE--/p' > /tmp/codemate.cert && \ - keytool -import -noprompt -trustcacerts -keystore /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts -storepass changeit -noprompt -alias codemate-self-signed -file /tmp/codemate.cert + mkdir -p /usr/share/ca-certificates/extra && \ + openssl s_client -servername cert.codemate.se -connect codemate.se:443 </dev/null | sed -ne '/--BEGIN CERTIFICATE--/,/--END CERTIFICATE--/p' > /usr/share/ca-certificates/extra/codemate.crt && \ + update-ca-certificates && \ + keytool -import -noprompt -trustcacerts -keystore /usr/lib/jvm/java-7-oracle/jre/lib/security/cacerts -storepass changeit -noprompt -alias codemate-self-signed -file /usr/share/ca-certificates/extra/codemate.crt # Install and configure Exim RUN \ diff --git a/README.md b/README.md index 5d2c76a..2618d57 100644 --- a/README.md +++ b/README.md @@ -54,13 +54,20 @@ docker run -e CROWD_VERSION=2.7.2 -d registry.codemate.se/crowd ### Overriding Crowd files -By providing an environment variable name `CROWD_OVERLAY` that points to a gzipped tar file you can apply an overlay on the Crowd installation. This tarball will be unzipped and extracted in the root of the Crowd installation directory. The overlay enables you to add custom crowd configurations such as SSL or Crowd integration. +By providing an environment variable name `CROWD_OVERLAY` that points to a directory or URL of a gzipped tar file you can apply an overlay on the Crowd installation. A directory will be recursively copied, and a tarball will be unzipped and extracted in the root of the Crowd installation directory. The overlay enables you to add custom Crowd configurations. ``` docker run -e CROWD_OVERLAY=http://10.0.0.1/crowd-config.tgz -d registry.codemate.se/crowd +docker run -e CROWD_OVERLAY=/tmp/crowd-config -d registry.codemate.se/crowd ``` -The overlay is fetched using curl so if you need to provide basic auth credentials simply prefix the url with the credentials, for example: +The overlay is fetched using curl so file URLs are valid: + +``` +CROWD_OVERLAY="file:///tmp/crowd-config.tgz" +``` + +If you need to provide basic auth credentials simply prefix the url with the credentials, for example: ``` CROWD_OVERLAY="-u username:password http://10.0.0.1/crowd-config.tgz" @@ -74,7 +81,7 @@ By providing an environment variable name `MYSQL_INIT` that points to an SQL scr docker run -e MYSQL_INIT=http://10.0.0.1/crowd-init.sql -d registry.codemate.se/crowd ``` -Basic auth credentials can be used as mentioned in the Crowd overlay section. +Basic auth credentials and file URLs can be used as mentioned in the overlay section. ### Combined options @@ -88,7 +95,6 @@ docker run \ -e CROWD_OVERLAY=http://10.0.0.1/crowd-config.tgz \ -v /opt/application-data/crowd:/home/crowd \ -p 8095:8095 \ - -p 8096:8096 \ -d registry.codemate.se/crowd ``` diff --git a/init.sh b/init.sh index 9a52986..e6b0efc 100644 --- a/init.sh +++ b/init.sh @@ -2,20 +2,19 @@ set -e # Exit on errors -SEPARATOR="-------------------------------------------------------------------------------" CROWD_DIR=/opt/atlassian-crowd-$CROWD_VERSION MYSQL_DIR=$CROWD_HOME/mysql-data if [ ! -d $CROWD_DIR ]; then curl -s -v -L http://www.atlassian.com/software/crowd/downloads/binary/atlassian-crowd-$CROWD_VERSION.tar.gz | tar xzf - -C /opt - curl -s -v -L -o $CROWD_DIR/apache-tomcat/lib/mysql-connector-java-5.1.31.jar http://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.31/mysql-connector-java-5.1.31.jar - echo "$SEPARATOR" - echo "crowd.home=$CROWD_HOME" > $CROWD_DIR/crowd-webapp/WEB-INF/classes/crowd-init.properties fi if [ ${CROWD_OVERLAY:+x} ] && [ -d $CROWD_DIR ]; then - curl -s -v -L $CROWD_OVERLAY | tar xzf - -C $CROWD_DIR - echo "$SEPARATOR" + if [ -d $CROWD_OVERLAY ]; then + cp -R $CROWD_OVERLAY/* $CROWD_DIR + else + curl -s -v -L $CROWD_OVERLAY | tar xzf - -C $CROWD_DIR + fi fi chown -R root:root $CROWD_DIR @@ -31,7 +30,6 @@ if [ ! -d $MYSQL_DIR ]; then mysql_install_db mysqld_safe & sleep 5s - echo "$SEPARATOR" else mysqld_safe & sleep 5s @@ -39,11 +37,9 @@ fi if [ ${MYSQL_INIT:+x} ] && [ -d $MYSQL_DIR ]; then curl -s -v -L $MYSQL_INIT | mysql - echo "$SEPARATOR" fi env | sort -echo "$SEPARATOR" exim4 -v -bdf -q15m & -- GitLab