diff --git a/Dockerfile-deploy b/Dockerfile-deploy index e775e9cb..18c962ba 100644 --- a/Dockerfile-deploy +++ b/Dockerfile-deploy @@ -4,6 +4,7 @@ EXPOSE 67/udp EXPOSE 69/udp EXPOSE 80/tcp +ENTRYPOINT ["/usr/sbin/initial-config.sh"] CMD ["/usr/bin/supervisord", "-c", "/etc/supervisord.conf"] WORKDIR /srv @@ -16,6 +17,7 @@ RUN apk add --no-cache \ RUN touch /var/lib/udhcpd/udhcpd.leases +COPY configs/deploy-initial-config.sh /usr/sbin/initial-config.sh COPY configs/deploy-supervisord.conf /etc/supervisord.conf COPY configs/udhcpd-sample.conf /etc/udhcpd.conf COPY configs/pxelinux.cfg /usr/share/syslinux/pxelinux.cfg/default \ No newline at end of file diff --git a/configs/deploy-initial-config.sh b/configs/deploy-initial-config.sh new file mode 100755 index 00000000..1a817c97 --- /dev/null +++ b/configs/deploy-initial-config.sh @@ -0,0 +1,17 @@ +#!/bin/sh + +set -e + +echo "Perform initial config..." + +[ -z "${PXE_IFACE}" ] && PXE_IFACE=$(ip r | grep default | head -1 | cut -d " " -f 5) +[ -z "${DEPLOY_NETWORK}" ] && DEPLOY_NETWORK=192.168.255 + +sed -i "s/eth0/${PXE_IFACE}/;s/192.168.255/${DEPLOY_NETWORK}/" /etc/udhcpd.conf + +ip a show dev "${PXE_IFACE}" | grep "inet " | grep "${DEPLOY_NETWORK}" || + ip a add "${DEPLOY_NETWORK}.2/24" dev "${PXE_IFACE}" + +echo "Initial config done." + +exec $@