diff options
Diffstat (limited to 'adei-mini')
| -rw-r--r-- | adei-mini/Dockerfile | 44 | ||||
| -rw-r--r-- | adei-mini/Makefile | 20 | ||||
| -rwxr-xr-x | adei-mini/files/docker-entrypoint.sh | 14 | ||||
| -rwxr-xr-x | adei-mini/files/openshift-entrypoint.sh | 17 | 
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 "$@"  | 
