FROM debian:buster-slim AS builder ADD build.sh / RUN /build.sh FROM debian:buster-slim LABEL maintainer="sfeng@stanford.edu" ENV DEBIAN_FRONTEND noninteractive RUN apt-get update && \ apt-get install -y -qq \ ca-certificates \ coreutils \ libsasl2-2 \ libltdl7 \ libtcmalloc-minimal4 \ libsasl2-modules-gssapi-mit \ openssl \ lmdb-utils \ krb5-user \ kstart \ procps # Copy software from stage image COPY --from=builder /artifacts / RUN rm -rfv /etc/ldap/slapd.d/* \ && mkdir -p /etc/ldap/sasl2 \ && echo "mech_list: GSSAPI EXTERNAL" >> /etc/ldap/sasl2/slapd.conf \ && mkdir -p /var/lib/ldap/accesslog \ && mkdir -p /var/lib/ldap/logs \ && ln -s /var/lib/ldap/logs/ldap /var/log/ldap \ && openssl req -x509 -newkey rsa:4096 -keyout /etc/ssl/private/server.key -out /etc/ssl/certs/server.pem -days 365 -nodes -subj "/CN=$HOSTNAME" # krb5 conf, sldapd conf, sasldauthd conf COPY etc /etc/ # Link default configuration path to customized paths RUN ln -s /usr/lib/slapd /usr/sbin/slapd \ && ln -sf /etc/ldap/sasl2/slapd.conf /usr/lib/sasl2/slapd.conf # Start up file COPY start.sh /start.sh # Expose these ports EXPOSE 389 636 WORKDIR /workspace CMD ["/bin/bash"]