diff --git a/dockerfile b/dockerfile index 0805e50..b880b17 100644 --- a/dockerfile +++ b/dockerfile @@ -1,20 +1,35 @@ FROM ubuntu:22.04 +# set non-interactive TERM for docker ENV DEBIAN_FRONTEND=noninteractive -RUN apt-get update && apt-get install -y \ - libltdl7 \ - libodbc2 \ - libwrap0 \ - ldap-utils \ - libldap-common \ - libldap-dev \ - libldap-2.5-0 \ - libldap2-dev \ - slapd \ - slapd-contrib \ - slapi-dev \ - #other utilities \ - vim-common \ - && rm -rf /var/lib/apt/lists/* +# install slapd and ldap-utils +RUN apt-get update && apt-get install -y slapd ldap-utils vim mc && apt-get clean +# preconfigure slapd installation without using systemd +RUN echo "slapd slapd/password1 password admin" | debconf-set-selections && \ + echo "slapd slapd/password2 password admin" | debconf-set-selections && \ + echo "slapd slapd/domain string example.com" | debconf-set-selections && \ + echo "slapd slapd/no_configuration boolean false" | debconf-set-selections && \ + echo "slapd slapd/purge_database boolean true" | debconf-set-selections && \ + echo "slapd slapd/move_old_database boolean true" | debconf-set-selections + +# make use of debconf-set-selections +RUN dpkg-reconfigure -f noninteractive slapd + +# open up LDAP simple port +EXPOSE 389 + +# set salvable volumes for LDAP data, configuration +VOLUME ["/var/lib/ldap", "/etc/ldap/slapd.d"] + +# set correct permissions for openldap user +RUN chown -R openldap:openldap /var/lib/ldap /etc/ldap/slapd.d + +### optional use ### +# start slapd +#CMD ["slapd", "-h", "ldap:/// ldapi:///", "-g", "openldap", "-u", "openldap", "-F", "/etc/ldap/slapd.d"] +# +# set entrypoint +#ENTRYPOINT ["/entrypoint.sh"] +#CMD ["bash"] \ No newline at end of file