From ca5fbceac3ca211d1d20dd9d434792fa37813efa Mon Sep 17 00:00:00 2001 From: Christian Busch Date: Sun, 26 Apr 2026 16:35:17 +0200 Subject: [PATCH] Updated docker File --- docker/Dockerfile | 9 +++++---- docker/entrypoint.sh | 22 +++++++++++++++++++--- 2 files changed, 24 insertions(+), 7 deletions(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 86c1306..83cb595 100755 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -21,11 +21,12 @@ ADD https://api.github.com/repos/chrisb86/nsupdate/git/refs/heads/main /.git-has COPY nsupdate.sh /usr/local/bin/nsupdate.sh RUN chmod +x /usr/local/bin/nsupdate.sh -## Setup cron job -RUN echo "${SCHEDULE} sh /usr/local/bin/nsupdate.sh" >> /etc/crontabs/root +COPY docker/entrypoint.sh /usr/local/bin/entrypoint.sh +RUN chmod +x /usr/local/bin/entrypoint.sh ## Start crond -CMD [ "crond", "-l", "2", "-f" ] +ENTRYPOINT [ "/usr/local/bin/entrypoint.sh" ] +CMD [ "crond", "-f" ] VOLUME /config -VOLUME /log +VOLUME /log \ No newline at end of file diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh index c079839..66d0be5 100644 --- a/docker/entrypoint.sh +++ b/docker/entrypoint.sh @@ -1,4 +1,20 @@ -#! /bin/sh +#!/bin/sh -echo "${SCHEDULE} sh nsupdate.sh" >> /etc/crontabs/root -crond -l 2 -f > /dev/stdout 2> /dev/stderr & \ No newline at end of file +set -eu + +SCHEDULE="${SCHEDULE:-* * * * *}" +CRON_LOG_LEVEL="${CRON_LOG_LEVEL:-2}" +CRON_FILE="/etc/crontabs/root" + +printf '%s /usr/local/bin/nsupdate.sh\n' "${SCHEDULE}" > "${CRON_FILE}" + +if [ "$#" -gt 0 ]; then + if [ "$1" = "crond" ]; then + shift + exec crond -l "${CRON_LOG_LEVEL}" "$@" + fi + + exec "$@" +fi + +exec crond -l "${CRON_LOG_LEVEL}" -f \ No newline at end of file