slapd.sh 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #!/bin/sh
  2. set -eu
  3. status () {
  4. echo "---> ${@}" >&2
  5. }
  6. set -x
  7. : LDAP_ROOTPASS=${LDAP_ROOTPASS}
  8. : LDAP_DOMAIN=${LDAP_DOMAIN}
  9. : LDAP_ORGANISATION=${LDAP_ORGANISATION}
  10. if [ ! -e /var/lib/ldap/docker_bootstrapped ]; then
  11. status "configuring slapd for first run"
  12. cat <<EOF | debconf-set-selections
  13. slapd slapd/internal/generated_adminpw password ${LDAP_ROOTPASS}
  14. slapd slapd/internal/adminpw password ${LDAP_ROOTPASS}
  15. slapd slapd/password2 password ${LDAP_ROOTPASS}
  16. slapd slapd/password1 password ${LDAP_ROOTPASS}
  17. slapd slapd/dump_database_destdir string /var/backups/slapd-VERSION
  18. slapd slapd/domain string ${LDAP_DOMAIN}
  19. slapd shared/organization string ${LDAP_ORGANISATION}
  20. slapd slapd/backend string HDB
  21. slapd slapd/purge_database boolean true
  22. slapd slapd/move_old_database boolean true
  23. slapd slapd/allow_ldap_v2 boolean false
  24. slapd slapd/no_configuration boolean false
  25. slapd slapd/dump_database select when needed
  26. EOF
  27. dpkg-reconfigure -f noninteractive slapd
  28. touch /var/lib/ldap/docker_bootstrapped
  29. else
  30. status "found already-configured slapd"
  31. fi
  32. status "starting slapd"
  33. set -x
  34. exec /usr/sbin/slapd -h "ldap:///" -u openldap -g openldap -d 0