ldap/Dockerfile

38 lines
1.6 KiB
Docker

# NAME leenooks/ldap
# VERSION latest
FROM alpine
# Change to http respositories, so they we can cache the install packages
RUN if [ -n ${HTTP_PROXY} ] ; then sed -i -e s'/https/http/' /etc/apk/repositories; fi
RUN apk add --no-cache bash openldap openldap-back-mdb openldap-clients openldap-overlay-syncprov openldap-overlay-accesslog
ADD acl*.ldif samba.ldif wurley.ldif /etc/openldap/schema/
ADD certinfo.ldif syncprov*ldif /etc/openldap/
RUN sed -i -e 's/dc=my-domain,dc=com/c=AU/' /etc/openldap/slapd.ldif \
&& sed -i -e 's/openldap-data/data/' /etc/openldap/slapd.ldif \
&& mv /var/lib/openldap/openldap-data /var/lib/openldap/data \
&& mkdir /etc/openldap/slapd.d \
&& slapadd -n 0 -F /etc/openldap/slapd.d -l /etc/openldap/slapd.ldif \
&& slapadd -b cn=config -l /etc/openldap/schema/misc.ldif \
&& slapadd -b cn=config -l /etc/openldap/schema/samba.ldif \
&& slapadd -b cn=config -l /etc/openldap/schema/wurley.ldif \
&& slapmodify -b cn=config -l /etc/openldap/certinfo.ldif \
&& slapmodify -b cn=config -l /etc/openldap/syncprov-enable.ldif \
&& slapmodify -b cn=config -l /etc/openldap/syncprov-options.ldif \
&& slapmodify -b cn=config -l /etc/openldap/syncprov-index.ldif \
&& slapmodify -b cn=config -l /etc/openldap/schema/acl-schema.ldif \
&& slapmodify -b cn=config -l /etc/openldap/schema/acl-data.ldif \
&& mkdir /var/lib/openldap/run \
&& chown -R ldap:ldap /etc/openldap/slapd.d /var/lib/openldap/data /var/lib/openldap/run
ENV SLAPD_CONFIG /etc/openldap/slapd.d/cn=config
RUN cp -pr ${SLAPD_CONFIG} ${SLAPD_CONFIG}.orig
COPY init /sbin/
# Starting
ENTRYPOINT [ "/sbin/init" ]
EXPOSE 389 636