summaryrefslogtreecommitdiffstats
path: root/adei-mini
diff options
context:
space:
mode:
Diffstat (limited to 'adei-mini')
-rw-r--r--adei-mini/Dockerfile44
-rw-r--r--adei-mini/Makefile20
-rwxr-xr-xadei-mini/files/docker-entrypoint.sh14
-rwxr-xr-xadei-mini/files/openshift-entrypoint.sh17
4 files changed, 95 insertions, 0 deletions
diff --git a/adei-mini/Dockerfile b/adei-mini/Dockerfile
new file mode 100644
index 0000000..4845c18
--- /dev/null
+++ b/adei-mini/Dockerfile
@@ -0,0 +1,44 @@
+FROM chsa/microadei:latest
+MAINTAINER Suren A. Chilingaryan <csa@suren.me>
+
+VOLUME /adei
+
+ENV ADEI_REVISION=last:1 \
+ ADEI_PARALLEL=sources \
+ ADEI_SETUP=all \
+ ADEI_ENABLED_SETUPS="autogen logs" \
+ ADEI_PORTS=80 \
+ APACHE_SERVERS=0 \
+ MYSQL_SERVER=adei-mysql \
+ MYSQL_PORT=3306 \
+ MYSQL_USER=adei \
+ MYSQL_PASSWORD=adei \
+ MYSQL_DATABASE=adei \
+ LANG=en_US.UTF-8 \
+ LANGUAGE=en_US:en \
+ LC_ALL=en_US.UTF-8
+
+COPY files/ /
+
+RUN bash -c 'mkdir -p /adei/{src,cfg,tmp,sys,log,mail}' && \
+ \
+# Replace packaged ADEI with repository version
+ mkdir -p /srv/www/htdocs && \
+ ln -s /adei/src /srv/www/htdocs/adei && \
+ for name in $(find /srv -mindepth 1 -maxdepth 1 -name '*.sh'); do rm "$name"; ln -s "/adei/src/scripts/cron/$(basename $name)" "$name"; done && \
+ rm -f /etc/cron.d/adei.cron && \
+ ln -s /adei/src/scripts/cron/adei.cron /etc/cron.d/adei.cron && \
+ \
+# Consolidate all volumes in /adei
+ rm -rf /var/spool/mail && \
+ ln -s /adei/log /var/spool/mail && \
+ \
+# Modify for non-priviledged mode
+ chmod +rx /etc/php5/conf.d && \
+ \
+# Ugly python needs to resolve user name
+ chmod g=u /etc/passwd
+
+
+ENTRYPOINT ["/docker-entrypoint.sh"]
+CMD /bin/bash
diff --git a/adei-mini/Makefile b/adei-mini/Makefile
new file mode 100644
index 0000000..ba30242
--- /dev/null
+++ b/adei-mini/Makefile
@@ -0,0 +1,20 @@
+all: build
+install: push
+
+.PHONY: deps rebuild build push start stop restart bash
+
+deps:
+ docker pull chsa/microadei:latest
+
+build: deps Dockerfile
+ docker build --tag chsa/adei-minimal:latest .
+# docker build --squash --tag chsa/adei-minimal-squashed:latest .
+
+rebuild: Dockerfile
+ docker build --no-cache --tag chsa/adei-minimal:latest .
+
+push: build
+ docker push chsa/adei-minimal:latest
+
+bash: build
+ docker exec -it adei-minimal /bin/bash
diff --git a/adei-mini/files/docker-entrypoint.sh b/adei-mini/files/docker-entrypoint.sh
new file mode 100755
index 0000000..6f0fa88
--- /dev/null
+++ b/adei-mini/files/docker-entrypoint.sh
@@ -0,0 +1,14 @@
+#! /bin/bash
+
+set -e
+
+mkdir -p /adei/{src,cfg,tmp,sys,log}
+
+if ! whoami &> /dev/null; then
+ if [ -w /etc/passwd ]; then
+ echo "${USER_NAME:-default}:x:$(id -u):0:${USER_NAME:-default} user:${HOME}:/sbin/nologin" >> /etc/passwd
+ fi
+fi
+
+echo "Running: $@"
+exec "$@"
diff --git a/adei-mini/files/openshift-entrypoint.sh b/adei-mini/files/openshift-entrypoint.sh
new file mode 100755
index 0000000..9353b5d
--- /dev/null
+++ b/adei-mini/files/openshift-entrypoint.sh
@@ -0,0 +1,17 @@
+#! /bin/bash
+
+mkdir -p /adei/{src,cfg,tmp,sys,log}
+
+
+while [ ! -f /adei/cfg/.ready ]; do
+ echo "Waiting for ADEI intialization..."
+ sleep 5
+done
+
+while [ ! -f "$1" ]; do
+ echo "The script $1 is not populated yet. Waiting...."
+ sleep 1
+done
+
+echo "Running: $@"
+exec /bin/bash "$@"