Page MenuHomeDevCentral

No OneTemporary

diff --git a/Changelog.md b/Changelog.md
index 56c2774..30673e4 100644
--- a/Changelog.md
+++ b/Changelog.md
@@ -1,15 +1,18 @@
# Changelog
+**latest**
+- More directory structure reorganization
+
**3.9.3-4**
- Redefined directory structure in data volume
- Create `VERSION` file in data volume
**3.9.3-3**
- base image update to fix SSL vulnerability
**3.9.3-2**
- upgrade to sameersbn/debian:jessie.20141001, plugs shellshock
**3.9.3-1**
- update to the sameersbn/ubuntu:14.04.20140818 baseimage
- initial version 3.9.3
diff --git a/entrypoint.sh b/entrypoint.sh
index f031e8a..f3e1692 100755
--- a/entrypoint.sh
+++ b/entrypoint.sh
@@ -1,63 +1,74 @@
#!/bin/bash
set -e
##
# directory structure migration
##
if [ -d ${OPENFIRE_DATA_DIR}/openfire ]; then
- mv ${OPENFIRE_DATA_DIR}/openfire/etc ${OPENFIRE_DATA_DIR}/etc
- mv ${OPENFIRE_DATA_DIR}/openfire/lib ${OPENFIRE_DATA_DIR}/lib
+ mv ${OPENFIRE_DATA_DIR}/openfire/etc ${OPENFIRE_DATA_DIR}/conf
+ mv ${OPENFIRE_DATA_DIR}/openfire/lib/plugins ${OPENFIRE_DATA_DIR}/plugins
+ mv ${OPENFIRE_DATA_DIR}/openfire/lib/embedded-db ${OPENFIRE_DATA_DIR}/embedded-db
rm -rf ${OPENFIRE_DATA_DIR}/openfire
fi
+[ -d ${OPENFIRE_DATA_DIR}/etc ] && mv ${OPENFIRE_DATA_DIR}/etc ${OPENFIRE_DATA_DIR}/conf
+[ -d ${OPENFIRE_DATA_DIR}/lib/plugins ] && mv ${OPENFIRE_DATA_DIR}/lib/plugins ${OPENFIRE_DATA_DIR}/plugins
+[ -d ${OPENFIRE_DATA_DIR}/lib/embedded-db ] && mv ${OPENFIRE_DATA_DIR}/lib/embedded-db ${OPENFIRE_DATA_DIR}/embedded-db
+rm -rf ${OPENFIRE_DATA_DIR}/lib
+
+# remove admin plugin from plugins directory
+if [ -d ${OPENFIRE_DATA_DIR}/plugins/admin ]; then
+ rm -rf ${OPENFIRE_DATA_DIR}/plugins/admin
+fi
## done!
+# re-wire openfile symbolic links
+rm -rf /usr/share/openfire/{conf,plugins,embedded-db}
+ln -sf ${OPENFIRE_DATA_DIR}/conf /usr/share/openfire/
+ln -sf ${OPENFIRE_DATA_DIR}/embedded-db /usr/share/openfire/
+ln -sf ${OPENFIRE_DATA_DIR}/plugins /usr/share/openfire/
+
# create openfire data dir
mkdir -p ${OPENFIRE_DATA_DIR}
chmod -R 0755 ${OPENFIRE_DATA_DIR}
chown -R ${OPENFIRE_USER}:${OPENFIRE_USER} ${OPENFIRE_DATA_DIR}
# create openfire log dir
mkdir -p ${OPENFIRE_LOG_DIR}
chmod -R 0755 ${OPENFIRE_LOG_DIR}
chown -R ${OPENFIRE_USER}:${OPENFIRE_USER} ${OPENFIRE_LOG_DIR}
-# populate default openfire configuration if it does not exist
-if [ ! -d ${OPENFIRE_DATA_DIR}/etc ]; then
- mv /etc/openfire ${OPENFIRE_DATA_DIR}/etc
-fi
-rm -rf /etc/openfire
-ln -sf ${OPENFIRE_DATA_DIR}/etc /etc/openfire
-
-if [ ! -d ${OPENFIRE_DATA_DIR}/lib ]; then
- mv /var/lib/openfire ${OPENFIRE_DATA_DIR}/lib
+# initialize the data volume
+if [ ! -d ${OPENFIRE_DATA_DIR}/conf ]; then
+ sudo -HEu ${OPENFIRE_USER} cp -a /etc/openfire ${OPENFIRE_DATA_DIR}/conf
fi
-rm -rf /var/lib/openfire
-ln -sf ${OPENFIRE_DATA_DIR}/lib /var/lib/openfire
+sudo -HEu ${OPENFIRE_USER} mkdir -p ${OPENFIRE_DATA_DIR}/{plugins,embedded-db}
+sudo -HEu ${OPENFIRE_USER} rm -rf ${OPENFIRE_DATA_DIR}/plugins/admin
+sudo -HEu ${OPENFIRE_USER} ln -sf /var/lib/openfire/plugins/admin ${OPENFIRE_DATA_DIR}/plugins/admin
# create version file
CURRENT_VERSION=
[[ -f ${OPENFIRE_DATA_DIR}/VERSION ]] && CURRENT_VERSION=$(cat ${OPENFIRE_DATA_DIR}/VERSION)
if [[ ${OPENFIRE_VERSION} != ${CURRENT_VERSION} ]]; then
echo -n "${OPENFIRE_VERSION}" | sudo -HEu ${OPENFIRE_USER} tee ${OPENFIRE_DATA_DIR}/VERSION >/dev/null
fi
# allow arguments to be passed to openfire launch
if [[ ${1:0:1} = '-' ]]; then
EXTRA_ARGS="$@"
set --
fi
# default behaviour is to launch openfire
if [[ -z ${1} ]]; then
exec start-stop-daemon --start --chuid ${OPENFIRE_USER}:${OPENFIRE_USER} --exec /usr/bin/java -- \
-server \
-DopenfireHome=/usr/share/openfire \
-Dopenfire.lib.dir=/usr/share/openfire/lib \
-classpath /usr/share/openfire/lib/startup.jar \
-jar /usr/share/openfire/lib/startup.jar ${EXTRA_ARGS}
else
exec "$@"
fi

File Metadata

Mime Type
text/x-diff
Expires
Thu, Sep 18, 00:16 (1 d, 5 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
2989654
Default Alt Text
(3 KB)

Event Timeline