Skip to content
Snippets Groups Projects
Dockerfile 1.94 KiB
Newer Older
Xueshan Feng's avatar
Xueshan Feng committed
FROM debian:buster-slim AS builder
Xueshan Feng's avatar
Xueshan Feng committed
ADD build.sh /
# https://rt.symas.com/rt/Ticket/Display.html?id=1628
# Fix access log ADD/DELETE order bug
# ADD its9295.patch /
Xueshan Feng's avatar
Xueshan Feng committed
RUN /build.sh

FROM debian:buster-slim
LABEL maintainer="sfeng@stanford.edu"

Xueshan Feng's avatar
Xueshan Feng committed
ENV DEBIAN_FRONTEND noninteractive
Xueshan Feng's avatar
Xueshan Feng committed
RUN apt-get update && \
Xueshan Feng's avatar
Xueshan Feng committed
	apt-get install -y -qq \
Xueshan Feng's avatar
Xueshan Feng committed
	ca-certificates \
	coreutils \
Xueshan Feng's avatar
Xueshan Feng committed
	libltdl7 \
Xueshan Feng's avatar
Xueshan Feng committed
	libtcmalloc-minimal4 \
	libsasl2-modules-gssapi-mit \
Xueshan Feng's avatar
Xueshan Feng committed
	openssl \
	lmdb-utils \
	krb5-user \
	gnupg \
	kstart \
Xueshan Feng's avatar
Xueshan Feng committed
	procps
Xueshan Feng's avatar
Xueshan Feng committed

# local apt repos
RUN apt-get -qq update \
    && count=0 \
    && until apt-key adv --keyserver keyserver.ubuntu.com --recv-keys FDF37CD4279D4962 || [ $count -eq 5 ]; \
    do \
        count=`expr $count + 1`; sleep $count; \
    done

# Add souces file to find stanford-server-directory package
ADD etc/apt/sources.list.d/stanford.list /etc/apt/sources.list.d/stanford.list
ADD etc/apt/sources.list.d/local.list /etc/apt/sources.list.d/local.list
RUN apt-get update --allow-unauthenticated \
    && apt-get --assume-yes --allow-unauthenticated install --no-install-recommends \
        stanford-keyring \
        libreadonly-perl \
        stanford-server-directory

Xueshan Feng's avatar
Xueshan Feng committed
# Copy software from stage image
Xueshan Feng's avatar
Xueshan Feng committed
COPY --from=builder /artifacts /
Xueshan Feng's avatar
Xueshan Feng committed
RUN rm -rfv /etc/ldap/slapd.d/* \
	&& mkdir -p /etc/ldap/sasl2 \
Xueshan Feng's avatar
Xueshan Feng committed
	&& 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"

Xueshan Feng's avatar
Xueshan Feng committed
# krb5 conf, sldapd conf, sasldauthd conf
COPY etc /etc/
Xueshan Feng's avatar
Xueshan Feng committed

# 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
Xueshan Feng's avatar
Xueshan Feng committed
# Start up file
COPY start.sh /start.sh

# Expose these ports
EXPOSE 389 636
  
WORKDIR /workspace