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" ]