diff --git a/Dockerfile b/Dockerfile deleted file mode 100755 index c9e561b..0000000 --- a/Dockerfile +++ /dev/null @@ -1,37 +0,0 @@ -FROM alpine:latest -MAINTAINER Christian Baer - -ENV TZ "UTC" - -## Run cron every minute -ENV SCHEDULE "* * * * *" - -ENV GIT_REPO "https://github.com/chrisb86/nsupdate" -ENV NSUPDATE_CONFD_DIR="/config" -ENV NSUPDATE_LOG_DIR="/log" - -## Install requirements -RUN apk update -RUN apk add --update-cache \ - git \ - curl \ - libxml2-utils - -# Read timezone from server, so in docker-compose you can change TZ -RUN apk add --no-cache tzdata - -RUN ln -sf "/usr/share/zoneinfo/$TZ" /etc/localtime && \ - echo "$TZ" > /etc/timezone && date - -## Clone git repo -RUN mkdir app -RUN git clone $GIT_REPO /app - -## Setup cron job -RUN echo "${SCHEDULE} sh /app/nsupdate.sh" >> /etc/crontabs/root - -## Start crond -CMD [ "crond", "-l", "2", "-f" ] - -VOLUME /config -VOLUME /log diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100755 index 0000000..37d66b0 --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,26 @@ +FROM alpine:latest + +ENV TZ "UTC" +ENV SCHEDULE "* * * * *" + +## Configure runtime variables for nsupdate +ENV NSUPDATE_CONFD_DIR="/config" +ENV NSUPDATE_LOG_DIR="/log" + +## Install requirements +RUN apk update +RUN apk add --no-cache git curl libxml2-utils tzdata + +# Read timezone from server, so in docker-compose you can change TZ +RUN ln -sf "/usr/share/zoneinfo/${TZ}" /etc/localtime && \ + echo "${TZ}" > /etc/timezone && date + +COPY ../nsupdate.sh /usr/local/bin/nsupdate.sh +RUN chmod +x /usr/local/bin/nsupdate.sh + +COPY docker/entrypoint.sh / +RUN chmod +x /entrypoint.sh +ENTRYPOINT ["/entrypoint.sh"] + +VOLUME /config +VOLUME /log diff --git a/docker-compose.yml b/docker/docker-compose.yml similarity index 53% rename from docker-compose.yml rename to docker/docker-compose.yml index eb9f09b..a0220d2 100755 --- a/docker-compose.yml +++ b/docker/docker-compose.yml @@ -1,9 +1,15 @@ -version: "3.3" +version: '3' + services: - sonarr: - image: nsupdate:latest + nsupdate: + image: nsupdate container_name: nsupdate + build: + context: https://github.com/chrisb86/nsupdate.git + dockerfile: docker/Dockerfile environment: + - SCHEDULE="*\2 * * * *" + - TZ=Europe/Berlin - NSUPDATE_INWX_USER=YOUR_INWX_USERNAME - NSUPDATE_INWX_PASSWORD=YOUR_INWX_PASSWORD volumes: diff --git a/docker/entrypoint.sh b/docker/entrypoint.sh new file mode 100644 index 0000000..c079839 --- /dev/null +++ b/docker/entrypoint.sh @@ -0,0 +1,4 @@ +#! /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