From cf26c2fb857c3af2a0383720f9464e18a8d7a83b Mon Sep 17 00:00:00 2001 From: Aravindan M <83415736+aravindan888@users.noreply.github.com> Date: Wed, 17 Sep 2025 23:38:02 +0530 Subject: [PATCH 1/3] Update Dockerfile --- Dockerfile | 18 +++++------------- 1 file changed, 5 insertions(+), 13 deletions(-) diff --git a/Dockerfile b/Dockerfile index 3ec2186a3..4dba15324 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM amazonlinux:2023 AS base ENV NODE_VERSION=24.4.0 RUN yum update -y && \ - yum install -y tar xz openssl && \ + yum install -y tar xz openssl curl && \ ARCH=$(uname -m) && \ if [ "$ARCH" = "x86_64" ]; then NODE_ARCH="x64"; \ elif [ "$ARCH" = "aarch64" ]; then NODE_ARCH="arm64"; \ @@ -21,18 +21,6 @@ ARG NEPTUNE_NOTEBOOK ENV NEPTUNE_NOTEBOOK=$NEPTUNE_NOTEBOOK ENV HOME=/graph-explorer -# Conditionally set the following environment values using +/- variable expansion -# https://docs.docker.com/reference/dockerfile/#environment-replacement -# -# If NEPTUNE_NOTEBOOK value is set then -# - GRAPH_EXP_ENV_ROOT_FOLDER = /proxy/9250/explorer -# - PROXY_SERVER_HTTP_PORT = 9250 -# - LOG_STYLE = cloudwatch -# Else the values are the defaults -# - GRAPH_EXP_ENV_ROOT_FOLDER = /explorer -# - PROXY_SERVER_HTTP_PORT = 80 -# - LOG_STYLE = default - ENV GRAPH_EXP_ENV_ROOT_FOLDER=${NEPTUNE_NOTEBOOK:+/proxy/9250/explorer} ENV GRAPH_EXP_ENV_ROOT_FOLDER=${GRAPH_EXP_ENV_ROOT_FOLDER:-/explorer} @@ -57,4 +45,8 @@ RUN pnpm install && \ EXPOSE 443 EXPOSE 80 EXPOSE 9250 + +HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ + CMD curl -f http://localhost:${PROXY_SERVER_HTTP_PORT}/ || exit 1 + ENTRYPOINT ["./docker-entrypoint.sh"] From fbfa1c829dae553158fe2d5beac9e18d43d0907c Mon Sep 17 00:00:00 2001 From: Aravindan M <83415736+aravindan888@users.noreply.github.com> Date: Wed, 17 Sep 2025 23:51:11 +0530 Subject: [PATCH 2/3] Update Dockerfile curl-minimal --- Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 4dba15324..205fedfce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,7 @@ FROM amazonlinux:2023 AS base ENV NODE_VERSION=24.4.0 RUN yum update -y && \ - yum install -y tar xz openssl curl && \ + yum install -y tar xz openssl curl-minimal && \ ARCH=$(uname -m) && \ if [ "$ARCH" = "x86_64" ]; then NODE_ARCH="x64"; \ elif [ "$ARCH" = "aarch64" ]; then NODE_ARCH="arm64"; \ From dfdd5ef456a9c3014931f91f5fa001f56c424c74 Mon Sep 17 00:00:00 2001 From: Aravindan M <83415736+aravindan888@users.noreply.github.com> Date: Thu, 18 Sep 2025 23:10:26 +0530 Subject: [PATCH 3/3] Update Dockerfile --- Dockerfile | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/Dockerfile b/Dockerfile index 205fedfce..619a826d0 100644 --- a/Dockerfile +++ b/Dockerfile @@ -3,7 +3,9 @@ FROM amazonlinux:2023 AS base ENV NODE_VERSION=24.4.0 RUN yum update -y && \ - yum install -y tar xz openssl curl-minimal && \ + # Amazon Linux 2023 base image is minimal and does not include curl by default, + # so we explicitly install curl here to ensure availability. + yum install -y tar xz openssl curl && \ ARCH=$(uname -m) && \ if [ "$ARCH" = "x86_64" ]; then NODE_ARCH="x64"; \ elif [ "$ARCH" = "aarch64" ]; then NODE_ARCH="arm64"; \ @@ -21,11 +23,24 @@ ARG NEPTUNE_NOTEBOOK ENV NEPTUNE_NOTEBOOK=$NEPTUNE_NOTEBOOK ENV HOME=/graph-explorer +# Conditionally set the following environment values using +/- variable expansion +# https://docs.docker.com/reference/dockerfile/#environment-replacement +# +# If NEPTUNE_NOTEBOOK value is set then +# - GRAPH_EXP_ENV_ROOT_FOLDER = /proxy/9250/explorer +# - PROXY_SERVER_HTTP_PORT = 9250 +# - LOG_STYLE = cloudwatch +# Else the values are the defaults +# - GRAPH_EXP_ENV_ROOT_FOLDER = /explorer +# - PROXY_SERVER_HTTP_PORT = 80 +# - LOG_STYLE = default + ENV GRAPH_EXP_ENV_ROOT_FOLDER=${NEPTUNE_NOTEBOOK:+/proxy/9250/explorer} ENV GRAPH_EXP_ENV_ROOT_FOLDER=${GRAPH_EXP_ENV_ROOT_FOLDER:-/explorer} ENV PROXY_SERVER_HTTP_PORT=${NEPTUNE_NOTEBOOK:+9250} ENV PROXY_SERVER_HTTP_PORT=${PROXY_SERVER_HTTP_PORT:-80} +ENV PROXY_SERVER_HTTPS_PORT=443 ENV LOG_STYLE=${NEPTUNE_NOTEBOOK:+cloudwatch} ENV LOG_STYLE=${LOG_STYLE:-default} @@ -42,11 +57,12 @@ RUN pnpm install && \ chmod a+x ./process-environment.sh && \ chmod a+x ./docker-entrypoint.sh +# Expose ports for HTTP, HTTPS, and Neptune Notebook proxy EXPOSE 443 EXPOSE 80 EXPOSE 9250 HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \ - CMD curl -f http://localhost:${PROXY_SERVER_HTTP_PORT}/ || exit 1 + CMD curl -fsSL "http://localhost:${PROXY_SERVER_HTTP_PORT}/status" || exit 1 ENTRYPOINT ["./docker-entrypoint.sh"]