le-easy-certs/Dockerfile

29 lines
766 B
Docker

FROM rust:1.59.0-slim-bullseye as build
WORKDIR /app
RUN apt-get update && apt-get install -y libssl-dev pkg-config
COPY ./src ./src
COPY ./Cargo.toml ./
COPY ./Cargo.lock ./
RUN cargo build --release
#################
# RELEASE IMAGE #
#################
FROM debian:bullseye-slim
# Install cron and clean default cron jobs
RUN apt-get update && apt-get install -y --no-install-recommends cron && rm -rf /etc/cron.*/*
RUN echo "0 0,12 * * * root cd /app && ./le-easy-certs >/proc/1/fd/1 2>/proc/1/fd/2\n" > /etc/crontab
RUN echo "@reboot root cd /app && ./le-easy-certs >/proc/1/fd/1 2>/proc/1/fd/2\n\n" >> /etc/crontab
WORKDIR /app
COPY --from=build /app/target/release/le-easy-certs /app/
ENV LE_CONF=/le-conf/le-conf.toml
CMD [ "cron", "-f", "-l", "2" ]