summaryrefslogtreecommitdiffstats
path: root/adei
diff options
context:
space:
mode:
authorSuren A. Chilingaryan <csa@suren.me>2018-02-21 18:44:26 +0100
committerSuren A. Chilingaryan <csa@suren.me>2018-02-21 18:44:26 +0100
commit350abf69de17b079c7589022bb0b2df01a51f84e (patch)
tree66bba94094c096b21c181d1a77c6a4ca4078482d /adei
parent3d19ce5671e45b8e06a91cb09065d81e22f9d6fd (diff)
downloadadei-350abf69de17b079c7589022bb0b2df01a51f84e.tar.gz
adei-350abf69de17b079c7589022bb0b2df01a51f84e.tar.bz2
adei-350abf69de17b079c7589022bb0b2df01a51f84e.tar.xz
adei-350abf69de17b079c7589022bb0b2df01a51f84e.zip
Use volume for apache configuration in order to run in read-only containers
Diffstat (limited to 'adei')
-rw-r--r--adei/Dockerfile6
-rwxr-xr-xadei/scripts/run-apache.sh17
-rwxr-xr-xadei/scripts/run-cron.sh10
3 files changed, 29 insertions, 4 deletions
diff --git a/adei/Dockerfile b/adei/Dockerfile
index 94f5016..ab38acf 100644
--- a/adei/Dockerfile
+++ b/adei/Dockerfile
@@ -25,6 +25,8 @@ VOLUME /adei/src
VOLUME /adei/cfg
VOLUME /adei/tmp
VOLUME /adei/sys
+VOLUME /adei/ovr
+
COPY supervisor/supervisord.conf /etc/supervisord.conf
@@ -37,6 +39,10 @@ RUN /opt/scripts/configure.sh
RUN rm -rf /srv/www/htdocs/adei && \
ln -s /adei/src /srv/www/htdocs/adei
+RUN ln -sf /etc/mime.types /etc/apache2/mime.types && \
+ mv /etc/apache2 /opt/ && \
+ ln -s /adei/ovr/apache2 /etc/apache2
+
ENV MYSQL_SERVER adei-mysql
ENV MYSQL_PORT 3306
ENV MYSQL_USER adei
diff --git a/adei/scripts/run-apache.sh b/adei/scripts/run-apache.sh
index 3ad9d5f..90438a7 100755
--- a/adei/scripts/run-apache.sh
+++ b/adei/scripts/run-apache.sh
@@ -1,8 +1,19 @@
#! /bin/bash
-if [ ! -f /adei/cfg/apache.conf ]; then
- cp -a /opt/configs/apache* /adei/cfg
-fi
+LOCK_FILE=.lock
+(
+ flock -x 10
+ if [ ! -d /adei/ovr/apache2 ]; then
+ cp -ar /opt/apache2 /adei/ovr/
+ fi
+) 10> /adei/ovr/$LOCK_FILE
+
+(
+ flock -x 10
+ if [ ! -f /adei/cfg/apache.conf ]; then
+ cp -a /opt/configs/apache* /adei/cfg
+ fi
+) 10> /adei/cfg/$LOCK_FILE
sed -i'' -re '/Listen/ { /(80|443)/!d }' /etc/apache2/listen.conf
if [ -n "$ADEI_PORTS" ]; then
diff --git a/adei/scripts/run-cron.sh b/adei/scripts/run-cron.sh
index 5f4b9e2..f0539f6 100755
--- a/adei/scripts/run-cron.sh
+++ b/adei/scripts/run-cron.sh
@@ -2,6 +2,14 @@
printenv | grep -v affinity:container | sed -r 's/^(.*)=("?)(.*)\2$/export \1="\3"/g' > /adei/env
-/opt/scripts/adei-branch.sh
+LOCK_FILE=.lock
+(
+ flock -x 10
+ flock -x 11
+
+ /opt/scripts/adei-branch.sh
+
+) 10> /adei/cfg/$LOCK_FILE 11> /adei/src/$LOCK_FILE
+
cron -n -m '/usr/bin/procmail -d root'