FROM docker.io/rust:1.71 AS builder ARG VERSION=v0.4.3 RUN apt-get update -y && apt-get install -y --no-install-recommends \ git gzip wget RUN cargo install wasm-pack && rustup target add wasm32-unknown-unknown RUN git clone https://github.com/lldap/lldap.git /lldap && \ cd /lldap && git reset --hard ${VERSION} && \ cargo build --release -p lldap -p migration-tool -p lldap_set_password RUN /lldap/app/build.sh && cd /lldap/app/static && \ for file in $(cat libraries.txt); do wget "$file"; done && \ for file in $(cat fonts/fonts.txt); do wget -P fonts "$file"; done FROM docker.io/debian:bookworm-slim RUN apt-get update -y && apt-get install -y --no-install-recommends \ gettext gosu RUN addgroup --system --gid 10000 lldap RUN adduser --system --uid 10000 --ingroup lldap --home /var/lib/lldap lldap RUN mkdir -p /opt/lldap/app COPY --from=builder /lldap/app/index_local.html /opt/lldap/app/index.html COPY --from=builder /lldap/app/static /opt/lldap/app/static COPY --from=builder /lldap/app/pkg /opt/lldap/app/pkg COPY --from=builder /lldap/target/release/lldap \ /lldap/target/release/migration-tool \ /lldap/target/release/lldap_set_password \ /opt/lldap/ COPY container/config /etc/lldap COPY container/run-lldap /run-lldap EXPOSE 3890 8080 ENTRYPOINT ["/run-lldap"]