37 lines
1.4 KiB
Plaintext
37 lines
1.4 KiB
Plaintext
FROM ubuntu:22.04
|
|
|
|
# set non-interactive TERM for docker
|
|
ENV DEBIAN_FRONTEND=noninteractive
|
|
|
|
# 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"]
|
|
|
|
# run img container with 'docker run -i -t -v ldap_data:/var/lib/ldap -v ldap_config:/etc/ldap/slapd.d ldapdock' for interactive shell |