mirror of
https://github.com/outbackdingo/labca.git
synced 2026-01-27 10:19:34 +00:00
81 lines
2.8 KiB
Plaintext
81 lines
2.8 KiB
Plaintext
# syntax=docker/dockerfile:1
|
|
FROM letsencrypt/boulder-tools:go1.25.5_2025-12-03 AS boulder-tools
|
|
|
|
FROM ubuntu:noble 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 \
|
|
&& dcver=$(docker compose version | grep v2.19 | wc -l) \
|
|
&& if [ "$dcver" != "0" ]; then \
|
|
dc18=$(apt list docker-compose-plugin -a 2>/dev/null | grep 2.18 | cut -d ' ' -f 2); \
|
|
apt install -y --allow-downgrades docker-compose-plugin=${dc18}; \
|
|
fi \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
FROM ubuntu:noble
|
|
|
|
RUN export DEBIAN_FRONTEND=noninteractive \
|
|
&& apt update \
|
|
&& apt install -y --no-install-recommends --reinstall software-properties-common \
|
|
&& add-apt-repository -y ppa:deadsnakes/ppa \
|
|
&& apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
ca-certificates \
|
|
cron \
|
|
curl \
|
|
python3.10-venv \
|
|
softhsm2 \
|
|
tzdata \
|
|
ucspi-tcp \
|
|
&& python3.10 -m venv /opt/certbot \
|
|
&& /opt/certbot/bin/pip install --upgrade pip \
|
|
&& /opt/certbot/bin/pip install certbot \
|
|
&& ln -sf /opt/certbot/bin/certbot /usr/bin/certbot \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
COPY --from=boulder-tools /usr/local/bin/minica /usr/local/bin/minica
|
|
|
|
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/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/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/apply /opt/labca/
|
|
COPY tmp/labca-gui /opt/labca/bin/
|
|
|
|
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 mkdir /opt/logs
|