Dockerfile 2.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # Use osixia/light-baseimage
  2. # sources: https://github.com/osixia/docker-light-baseimage
  3. FROM osixia/light-baseimage:1.2.0
  4. ARG LDAP_OPENLDAP_GID
  5. ARG LDAP_OPENLDAP_UID
  6. ARG PQCHECKER_VERSION=2.0.0
  7. ARG PQCHECKER_MD5=c005ce596e97d13e39485e711dcbc7e1
  8. # Add openldap user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added
  9. # If explicit uid or gid is given, use it.
  10. RUN if [ -z "${LDAP_OPENLDAP_GID}" ]; then groupadd -g 911 -r openldap; else groupadd -r -g ${LDAP_OPENLDAP_GID} openldap; fi \
  11. && if [ -z "${LDAP_OPENLDAP_UID}" ]; then useradd -u 911 -r -g openldap openldap; else useradd -r -g openldap -u ${LDAP_OPENLDAP_UID} openldap; fi
  12. # Add buster-backports in preparation for downloading newer openldap components, especially sladp
  13. RUN echo "deb http://ftp.debian.org/debian buster-backports main" >> /etc/apt/sources.list
  14. # Install OpenLDAP, ldap-utils and ssl-tools from the (backported) baseimage and clean apt-get files
  15. # sources: https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/add-service-available
  16. #  https://github.com/osixia/docker-light-baseimage/blob/stable/image/service-available/:ssl-tools/download.sh
  17. RUN echo "path-include /usr/share/doc/krb5*" >> /etc/dpkg/dpkg.cfg.d/docker && apt-get -y update \
  18. && /container/tool/add-service-available :ssl-tools \
  19. && LC_ALL=C DEBIAN_FRONTEND=noninteractive apt-get -t buster-backports install -y --no-install-recommends \
  20. ca-certificates \
  21. curl \
  22. ldap-utils \
  23. libsasl2-modules \
  24. libsasl2-modules-db \
  25. libsasl2-modules-gssapi-mit \
  26. libsasl2-modules-ldap \
  27. libsasl2-modules-otp \
  28. libsasl2-modules-sql \
  29. openssl \
  30. slapd \
  31. slapd-contrib \
  32. krb5-kdc-ldap \
  33. && curl -o pqchecker.deb -SL http://www.meddeb.net/pub/pqchecker/deb/8/pqchecker_${PQCHECKER_VERSION}_amd64.deb \
  34. && echo "${PQCHECKER_MD5} *pqchecker.deb" | md5sum -c - \
  35. && dpkg -i pqchecker.deb \
  36. && rm pqchecker.deb \
  37. && update-ca-certificates \
  38. && apt-get remove -y --purge --auto-remove curl ca-certificates \
  39. && apt-get clean \
  40. && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
  41. # Add service directory to /container/service
  42. ADD service /container/service
  43. # Use baseimage install-service script
  44. # https://github.com/osixia/docker-light-baseimage/blob/stable/image/tool/install-service
  45. RUN /container/tool/install-service
  46. # Add default env variables
  47. ADD environment /container/environment/99-default
  48. # Expose default ldap and ldaps ports
  49. EXPOSE 389 636
  50. # Put ldap config and database dir in a volume to persist data.
  51. # VOLUME /etc/ldap/slapd.d /var/lib/ldap