diff --git a/Dockerfile b/Dockerfile index 0bdc589..47d5384 100644 --- a/Dockerfile +++ b/Dockerfile @@ -64,5 +64,6 @@ EXPOSE 3000 COPY root/ / -# default command +HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 CMD /healthcheck.sh + CMD ["sh","/start.sh"] diff --git a/root/healthcheck.sh b/root/healthcheck.sh new file mode 100755 index 0000000..f800c43 --- /dev/null +++ b/root/healthcheck.sh @@ -0,0 +1,21 @@ +#!/bin/bash + +# Check TFTP (UDP 69) +if ! nc -z -u -w2 127.0.0.1 69; then + echo "TFTP check failed" + exit 1 +fi + +# Check HTTP (nginx) +if ! curl -fs http://127.0.0.1:${NGINX_PORT:-80}/ > /dev/null; then + echo "HTTP check failed" + exit 1 +fi + +# Check Web App +if ! curl -fs http://127.0.0.1:${WEB_APP_PORT:-3000}/ > /dev/null; then + echo "Web App check failed" + exit 1 +fi + +exit 0