From 25113ed309119352bec3d5340e8e2f82acde75d8 Mon Sep 17 00:00:00 2001 From: aryanmehrotra Date: Sat, 15 Aug 2026 14:20:18 +0530 Subject: [PATCH] chore(docker): build on Node 24 LTS instead of EOL, never-LTS Node 23 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The builder stage pinned node:23.11.1-alpine3.21. Odd-numbered Node releases never become LTS, and 23 reached end-of-life on 2025-06-01, so the toolchain producing every deployed artifact has been receiving no security patches. Moves to node:24.19.0-alpine3.24 — the active LTS line, supported until 2028-04-30 — keeping the existing patch + Alpine-minor pinning so an upstream rebuild cannot change the toolchain under a release. Verified: image builds clean, the static export is byte-identical in size to the previous pin (230 files), and nginx serves /, /docs, /team, /changelog, /faq and /comparison at 200. --- Dockerfile | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Dockerfile b/Dockerfile index 2f30452..507c875 100644 --- a/Dockerfile +++ b/Dockerfile @@ -32,7 +32,12 @@ # docker run --rm -p 3001:3000 gofr-website:local # ---------- builder ---------- -FROM node:23.11.1-alpine3.21 AS builder +# 24.x is the active LTS (EOL 2028-04-30). The previous pin, 23.11.1, was an +# odd-numbered release: those never become LTS, and 23 went EOL on 2025-06-01 — +# so the Node that produced every deployed artifact was receiving no security +# patches. Pinned to a patch + Alpine minor, same style as before, so an +# upstream rebuild cannot silently change the toolchain under a release. +FROM node:24.19.0-alpine3.24 AS builder RUN apk add --no-cache libc6-compat