From a2d7c216361acdfa742bd067c1fadcfa5564b6f9 Mon Sep 17 00:00:00 2001 From: Harry Reeder Date: Mon, 19 Mar 2018 16:00:38 +0000 Subject: [PATCH] Move configuration to runtime rather than build time --- Dockerfile | 15 +++------------ docker-entrypoint.sh | 13 +++++++++++++ 2 files changed, 16 insertions(+), 12 deletions(-) create mode 100644 docker-entrypoint.sh diff --git a/Dockerfile b/Dockerfile index 44d6b48..f054eaf 100644 --- a/Dockerfile +++ b/Dockerfile @@ -7,13 +7,6 @@ MAINTAINER Yury Evtikhov ENV DEBIAN_FRONTEND noninteractive -# -# Please set the following variables before building: -# -ENV PDNSAPIPWD mypowerdnsapipassword -ENV PDNSAPIIP 192.168.1.2 -ENV PDNSAPIPORT 8081 - # Update and Upgrade system RUN apt-get -y update && \ apt-get -y install curl git-core php5-cli php5-curl php5-json php5-sqlite && \ @@ -21,17 +14,15 @@ RUN apt-get -y update && \ RUN mkdir /app RUN git clone --recursive https://github.com/tuxis-ie/nsedit.git /app/nsedit RUN cp /app/nsedit/includes/config.inc.php-dist /app/nsedit/includes/config.inc.php -RUN sed "s/\$apipass = ''/\$apipass = '$PDNSAPIPWD'/" -i /app/nsedit/includes/config.inc.php && \ - sed "s/\$apiip = ''/\$apiip = '$PDNSAPIIP'/" -i /app/nsedit/includes/config.inc.php && \ - sed "s/\$apiport = '8081'/\$apiport = '$PDNSAPIPORT'/" -i /app/nsedit/includes/config.inc.php && \ - sed "s/\$authdb = \"\.\.\/etc\/pdns\.users\.sqlite3\"/\$authdb = \"\/app\/pdns\.users\.sqlite3\"/" -i /app/nsedit/includes/config.inc.php +COPY docker-entrypoint.sh /app/nsedit/docker-entrypoint.sh +RUN chmod +x /app/nsedit/docker-entrypoint.sh # Define working directory. VOLUME /app/nsedit WORKDIR /app/nsedit EXPOSE 8080 -ENTRYPOINT ["/usr/bin/php", "-S", "0.0.0.0:8080"] +CMD ["sh", "-c", "/app/nsedit/docker-entrypoint.sh"] # # Usage: diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..e48f6ee --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +[ -z "$PDNSAPIIP" ] && echo "Set PDNSAPIIP to your PowerDNS API IP/Hostname" && exit 1; +[ -z "$PDNSAPIPWD" ] && echo "Set PDNSAPIPWD to your PowerDNS API Password" && exit 1; + +sed "s/\$apipass = ''/\$apipass = '$PDNSAPIPWD'/" -i /app/nsedit/includes/config.inc.php +sed "s/\$apiip = ''/\$apiip = '$PDNSAPIIP'/" -i /app/nsedit/includes/config.inc.php +if [[ $PDNSAPIPORT && ${PDNSAPIPORT-x} ]] +then + sed "s/\$apiport = '8081'/\$apiport = '$PDNSAPIPORT'/" -i /app/nsedit/includes/config.inc.php +fi +sed "s/\$authdb = \"\.\.\/etc\/pdns\.users\.sqlite3\"/\$authdb = \"\/app\/pdns\.users\.sqlite3\"/" -i /app/nsedit/includes/config.inc.php + +exec /usr/bin/php -S 0.0.0.0:8080 \ No newline at end of file