diff --git a/slapd/Dockerfile b/slapd/Dockerfile
index 6a254ad6a525f7dbcfd505a70ce429e98398f112..7c7e9ea51cc643614aa7ba2180513bc67e857816 100644
--- a/slapd/Dockerfile
+++ b/slapd/Dockerfile
@@ -8,7 +8,7 @@ RUN echo 'deb http://deb.debian.org/debian stretch-backports main' > /etc/apt/so
     && \
     mkdir -p /run/slapd && \
     rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/*
-COPY entrypoint /
+COPY --chown=root:root entrypoint /
 EXPOSE 389 636
 VOLUME [ "/var/lib/ldap" ]
 ENV LDAP_URLS="ldap:/// ldapi:/// ldaps:///" \
diff --git a/slapd/entrypoint b/slapd/entrypoint
index b92073b51c48612a427d877e4af1e245f2c6c04b..a1ea36e31077d7f86bd240aa0250da9fa11d7a20 100755
--- a/slapd/entrypoint
+++ b/slapd/entrypoint
@@ -1,8 +1,8 @@
 #!/bin/sh
 set -eux
 
-chown -R openldap:openldap /run/slapd
-chown -R openldap:openldap /var/lib/ldap
+install -d -o openldap -g openldap /run/slapd
+install -d -o openldap -g openldap /var/lib/ldap
 
 cat << EOF | debconf-set-selections -v
 slapd slapd/internal/generated_adminpw password ${LDAP_ROOTPASS:-}
@@ -13,6 +13,6 @@ slapd slapd/domain string ${LDAP_DOMAIN:-}
 slapd shared/organization string ${LDAP_ORGANIZATION:-}
 EOF
 
-dpkg-reconfigure -f noninteractive slapd
+DEBIAN_FRONTEND=noninteractive dpkg-reconfigure -f noninteractive slapd
 
 eval exec "$@"