From 1f640e2ce1d823d2555f5ce740f40414bb625a57 Mon Sep 17 00:00:00 2001 From: Deon George Date: Thu, 25 May 2017 23:29:15 +1000 Subject: [PATCH] Initial Release --- .gitlab-ci.yml | 41 +++++++++++++++++++++++++++++++++++++++++ Dockerfile | 23 +++++++++++++++++++++++ init | 21 +++++++++++++++++++++ 3 files changed, 85 insertions(+) create mode 100644 .gitlab-ci.yml create mode 100644 Dockerfile create mode 100755 init diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml new file mode 100644 index 0000000..7a5227d --- /dev/null +++ b/.gitlab-ci.yml @@ -0,0 +1,41 @@ +image: docker:latest + +stages: +- test +- build + +variables: + VERSION: php70 + DOCKER_IMAGE: leenooks/lamps + DOCKER_REGISTRY: registry.leenooks.net + DOCKER_HOST: tcp://${DOCKER_REGISTRY}-leenooks-ci-docker:2375 + +services: +- ${DOCKER_REGISTRY}/leenooks/ci-docker:dind + +before_script: +- docker info +- docker version +- docker login -u gitlab-ci-token -p $CI_BUILD_TOKEN ${DOCKER_REGISTRY} + +test: + stage: test + script: + - cat /etc/hosts + - env|sort + - docker build -t ${DOCKER_IMAGE}:${VERSION} . + - docker images + only: + - debug + +build: + stage: build + script: + - chmod 500 init + - docker build -t ${DOCKER_IMAGE}:${VERSION} . + - docker tag ${DOCKER_IMAGE}:${VERSION} ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${VERSION} + - docker push ${DOCKER_REGISTRY}/${DOCKER_IMAGE}:${VERSION} + tags: + - docker + only: + - master diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..0f9f29d --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +# NAME leenooks/ldap +# VERSION latest +# BUILD docker build -t="leenooks/ldap" . +# SETUP docker run --rm=true -v /srv/ldap/openldap/data:/data leenooks/ldap cp -p /var/lib/ldap/DB_CONFIG /data/ +# SETUP docker run --rm=true -v /srv/ldap/openldap/data:/var/lib/ldap leenooks/ldap slapadd -l /var/lib/ldap/graytech.ldif +# START docker run ... + +FROM registry.leenooks.net/leenooks/base:7 + +RUN yum -y install tsmpipe && yum clean all + +# EPEL & Leenooks packages +RUN yum -y install ln-openldap-server && yum clean all + +EXPOSE 389 + +# Starting +COPY init /sbin/ +ENTRYPOINT [ "/sbin/init" ] +CMD [ "start" ] + +RUN for i in cosine inetorgperson nis misc samba wurley; do su ldap -s /bin/bash -c "slapadd -l /etc/openldap/schema/$i.ldif -n 0"; done +RUN cd /etc/openldap/slapd.d/cn=config && for i in olcDatabase={2}hdb.ldif; do rm -f $i; done && for i in olcDatabase={2}bdb.ldif; do ln -s /etc/.ln/openldap/slapd.d/cn=config/$i; done diff --git a/init b/init new file mode 100755 index 0000000..8ac9b3b --- /dev/null +++ b/init @@ -0,0 +1,21 @@ +#!/bin/bash +set -e + +NAME="OPENLDAP" + +function stop { + echo "Stopping ${NAME}" + kill $(cat /var/run/openldap/slapd.pid) +} + +trap 'stop' SIGTERM + +if [ "$1" == "start" ]; then + SLAPD_URLS="ldapi:/// ldap:/// ldaps:///" + SLAPD_OPTIONS="-d 256" + + [ -x /usr/sbin/slapd ] && /usr/sbin/slapd -u ldap -h "${SLAPD_URLS}" $SLAPD_OPTIONS & + wait +else + exec $@ +fi