diff --git a/Dockerfile b/Dockerfile index 42e1c468960790ff2c44b910457b66a7abf06d08..5e9c3f32678aae30f984b4dba8b785b1c0c7b07c 100644 --- a/Dockerfile +++ b/Dockerfile @@ -86,4 +86,4 @@ COPY root/ / # Communicate ports and volumes to be used EXPOSE 8080 -VOLUME /config /data +VOLUME /config /data /plugins diff --git a/root/etc/cont-init.d/50-install b/root/etc/cont-init.d/40-install similarity index 73% rename from root/etc/cont-init.d/50-install rename to root/etc/cont-init.d/40-install index d9800cfb7d105e12b3770defd1e4d5b227e5e2bd..4f2e89f59603e5ddce024b8c235f19dd10bb9e88 100644 --- a/root/etc/cont-init.d/50-install +++ b/root/etc/cont-init.d/40-install @@ -6,8 +6,13 @@ if [ ! -f "/config/www/ICEcoder/index.php" ]; then "https://github.com/icecoder/ICEcoder/archive/${ICECODER_VERSION}.zip" cd /tmp || exit unzip -qq install.zip + mkdir /plugins + mv ICEcoder-*/data/* /data/ + mv ICEcoder-*/plugins/* /plugins/ mv ICEcoder-* /app/ICEcoder cd / || exit rm -rf /tmp/* /config/www/data + rm -rf /app/ICEcoder/data + rm -rf /app/ICEcoder/plugins chown -R abc:abc /app/ICEcoder fi diff --git a/root/etc/cont-init.d/50-config b/root/etc/cont-init.d/50-config new file mode 100644 index 0000000000000000000000000000000000000000..e261cd7e625ac917a010e2d6a65679f24e77e058 --- /dev/null +++ b/root/etc/cont-init.d/50-config @@ -0,0 +1,11 @@ +#!/usr/bin/with-contenv bash + +# Link data, code and plugins +ln -sf /data /app/ICEcoder/data +ln -sf /plugins /app/ICEcoder/plugins + +# permissions +chown -R abc:abc \ +/config +/data +/plugins diff --git a/root/etc/cont-init.d/60-config b/root/etc/cont-init.d/60-git similarity index 74% rename from root/etc/cont-init.d/60-config rename to root/etc/cont-init.d/60-git index 6ad0aebe43dc449c09d386ee363e1bd588d1261a..d24f2925596a3da04e23f89ec3743218b2a150d3 100644 --- a/root/etc/cont-init.d/60-config +++ b/root/etc/cont-init.d/60-git @@ -8,11 +8,11 @@ if [ ! -e /lock.file ]; then -i /etc/sudoers sed -e 's/^wheel:\(.*\)/wheel:\1,abc/g' -i /etc/group # create directory for project - mkdir -p /app/ICEcoder/data/code + mkdir -p /data/code # make sure URL is set and folder is empty to clone code - if [ ${GITURL+x} ] && [ ! "$(/bin/ls -A /app/ICEcoder/data/code 2>/dev/null)" ] ; then \ + if [ ${GITURL+x} ] && [ ! "$(/bin/ls -A /data/code 2>/dev/null)" ] ; then \ # clone the url the user passed to this directory - git clone "${GITURL}" /app/ICEcoder/data/code + git clone "${GITURL}" /data/code fi else # lock exists not importing project this is a restart @@ -22,27 +22,18 @@ fi # create lock file after first run touch /lock.file +# copy php ini for user editing +[[ ! -e "/config/php/php.ini" ]] && \ +cp /etc/php7/php.ini /config/php/php.ini +cp /config/php/php.ini /etc/php7/php.ini + # permissions mkdir -p /config/sessions echo "[cont-init.d] Setting permissions this may take some time" chown -R abc:abc \ /data \ /config + /plugins # make our folders mkdir -p \ /config/{log/ICEcoder,php,sess} - -# copy php ini for user editing -[[ ! -e "/config/php/php.ini" ]] && \ -cp /etc/php7/php.ini /config/php/php.ini -cp /config/php/php.ini /etc/php7/php.ini - -# Link data, code and plugins -rm /data && \ - ln -sf /app/ICEcoder/data /data - ln -sf /app/ICEcoder/plugins /data/plugins - -# permissions -chown -R abc:abc \ -/config -/data