FROM ubuntu:focal as builder RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ curl \ gnupg \ && install -m 0755 -d /etc/apt/keyrings \ && curl -fsSL https://download.docker.com/linux/ubuntu/gpg | gpg --dearmor -o /etc/apt/keyrings/docker.gpg \ && chmod a+r /etc/apt/keyrings/docker.gpg \ && echo \ "deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \ "$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" | \ tee /etc/apt/sources.list.d/docker.list > /dev/null \ && apt-get update \ && apt-get install -y --no-install-recommends \ docker-ce \ docker-ce-cli \ containerd.io \ docker-compose-plugin \ && rm -rf /var/lib/apt/lists/* FROM ubuntu:focal RUN export DEBIAN_FRONTEND=noninteractive \ && apt-get update \ && apt-get install -y --no-install-recommends \ ca-certificates \ cron \ curl \ python3 \ tzdata \ ucspi-tcp \ && rm -rf /var/lib/apt/lists/* COPY --from=builder /usr/bin/docker /usr/bin/docker COPY --from=builder /usr/libexec/docker/cli-plugins/docker-compose /usr/libexec/docker/cli-plugins/docker-compose COPY tmp/acme_tiny.py /opt/labca/ COPY tmp/backup /opt/labca/ COPY tmp/checkcrl /opt/labca/ COPY tmp/checkrenew /opt/labca/ COPY tmp/commander /opt/labca/ COPY tmp/control.sh /opt/labca/ COPY tmp/cron_d /opt/labca/ COPY tmp/mailer /opt/labca/ COPY tmp/nameidtool /opt/labca/ COPY tmp/renew /opt/labca/ COPY tmp/restore /opt/labca/ COPY tmp/utils.sh /opt/labca/ COPY tmp/src/labca /opt/staging/boulder_labca COPY tmp/admin/apply-boulder /opt/labca/ COPY tmp/admin/static /opt/staging/static COPY tmp/admin/data /opt/staging/data COPY tmp/nginx.conf /opt/staging/ COPY tmp/proxy.inc /opt/staging/ COPY tmp/admin/apply-nginx /opt/labca/ COPY tmp/bin/boulder /opt/boulder/bin/ RUN cd /opt/boulder/bin/ \ && ln -s boulder admin-revoker \ && ln -s boulder mail-tester \ && mkdir /opt/logs