diff --git a/build/docker/ubuntu-noble/Dockerfile b/build/docker/ubuntu-noble/Dockerfile
new file mode 100644
index 0000000..374b4b5
--- /dev/null
+++ b/build/docker/ubuntu-noble/Dockerfile
@@ -0,0 +1,316 @@
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+
+#
+# Apache Thrift Docker build environment for Ubuntu Noble
+# with some updated packages.
+#
+
+FROM buildpack-deps:noble-scm
+LABEL MAINTAINER="Apache Thrift <dev@thrift.apache.org>"
+ENV DEBIAN_FRONTEND=noninteractive
+
+### Add apt repos
+
+RUN apt-get update -yq && \
+  apt-get dist-upgrade -y && \
+  apt-get install -y --no-install-recommends --fix-missing \
+  apt \
+  apt-transport-https \
+  apt-utils \
+  curl \
+  dirmngr \
+  software-properties-common \
+  wget
+
+# Create a user
+ARG user=build
+ARG group=build
+ARG uid=1001
+ARG gid=1001
+
+RUN apt-get install -y --no-install-recommends sudo && \
+    echo "Running with: UID: ${uid}, User: ${user}, GID: ${gid}, Group: ${group}" && \
+    if [ -z `cat /etc/group | grep "${group}:"` ] && [ -z `cat /etc/group | grep ":${gid}:"` ]; then addgroup --gid ${gid} ${group}; fi && \
+    if [ -z `cat /etc/passwd | grep "${user}:"` ] && [ -z `cat /etc/passwd | grep ":${uid}:"` ]; then adduser --uid ${uid} --gid ${gid} --shell /bin/bash ${user} --disabled-password -q --gecos ""; fi && \
+    echo "${user} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers && \
+    mkdir -p /home/${user} && \
+    chown -R ${user}:${group} /home/${user}
+
+# Dart
+RUN curl https://dl-ssl.google.com/linux/linux_signing_key.pub | apt-key add - && \
+  curl https://storage.googleapis.com/download.dartlang.org/linux/debian/dart_stable.list > \
+  /etc/apt/sources.list.d/dart_stable.list
+
+# node.js
+RUN curl -sL https://deb.nodesource.com/gpgkey/nodesource.gpg.key | apt-key add - && \
+  echo "deb https://deb.nodesource.com/node_16.x focal main" | tee /etc/apt/sources.list.d/nodesource.list
+
+### install general dependencies
+RUN apt-get update -yq && \
+  apt-get install -y --no-install-recommends \
+  `# General dependencies` \
+  bash-completion \
+  bison \
+  build-essential \
+  clang \
+  cmake \
+  debhelper \
+  flex \
+  gdb \
+  libatk-bridge2.0-0 \
+  libgtk-3-0 \
+  llvm \
+  ninja-build \
+  pkg-config \
+  unzip \
+  valgrind \
+  vim
+ENV PATH /usr/lib/llvm-6.0/bin:$PATH
+
+# lib/as3 (ActionScript)
+RUN mkdir -p /usr/local/adobe/flex/4.6 && \
+  cd /usr/local/adobe/flex/4.6 && \
+  wget -q "http://download.macromedia.com/pub/flex/sdk/flex_sdk_4.6.zip" && \
+  unzip flex_sdk_4.6.zip
+ENV FLEX_HOME /usr/local/adobe/flex/4.6
+
+# TODO: "apt-get install" without "apt-get update" in the same "RUN" step can cause cache issues if modified later.
+# See https://docs.docker.com/develop/develop-images/dockerfile_best-practices/#run
+RUN apt-get install -y --no-install-recommends \
+  `# C++ dependencies` \
+  libboost-all-dev \
+  libevent-dev \
+  libssl-dev \
+  qtbase5-dev \
+  qtbase5-dev-tools
+
+ENV SBCL_VERSION 1.5.3
+RUN \
+  `# Common Lisp (sbcl) dependencies` \
+  curl --version && \
+  curl -o sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 -J -L https://sourceforge.net/projects/sbcl/files/sbcl/${SBCL_VERSION}/sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2/download?use_mirror=managedway# && \
+  tar xjf sbcl-${SBCL_VERSION}-x86-64-linux-binary.tar.bz2 && \
+  cd sbcl-${SBCL_VERSION}-x86-64-linux && \
+  ./install.sh && \
+  sbcl --version && \
+  cd .. && \
+  rm -rf sbcl*
+
+ENV D_VERSION     2.087.0
+ENV DMD_DEB       dmd_2.087.0-0_amd64.deb
+RUN \
+  `# D dependencies` \
+  wget -q http://downloads.dlang.org/releases/2.x/${D_VERSION}/${DMD_DEB} && \
+  dpkg --install ${DMD_DEB} && \
+  rm -f ${DMD_DEB} && \
+  mkdir -p /usr/include/dmd/druntime/import/deimos /usr/include/dmd/druntime/import/C && \
+  git clone -b 'v2.0.2+2.0.16' https://github.com/D-Programming-Deimos/libevent.git deimos-libevent-2.0 && \
+  mv deimos-libevent-2.0/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-libevent-2.0/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-libevent-2.0 && \
+  git clone -b 'v2.0.0+1.1.0h' https://github.com/D-Programming-Deimos/openssl.git deimos-openssl-1.1.0h && \
+  mv deimos-openssl-1.1.0h/deimos/* /usr/include/dmd/druntime/import/deimos/ && \
+  mv deimos-openssl-1.1.0h/C/* /usr/include/dmd/druntime/import/C/ && \
+  rm -rf deimos-openssl-1.1.0h
+
+ENV DART_VERSION 2.7.2-1
+RUN apt-get install -y --no-install-recommends \
+  `# Dart dependencies` \
+  dart=$DART_VERSION
+ENV PATH /usr/lib/dart/bin:$PATH
+
+RUN add-apt-repository ppa:dotnet/backports
+RUN apt-get install -y --no-install-recommends \
+  `# dotnet core dependencies` \
+  dotnet-sdk-9.0 \
+  dotnet-runtime-9.0 \
+  aspnetcore-runtime-9.0 \
+  dotnet-apphost-pack-9.0
+
+# Erlang dependencies
+ARG ERLANG_OTP_VERSION=25.3.2.9
+ARG ERLANG_REBAR_VERSION=3.18.0
+RUN apt-get update && apt-get install -y --no-install-recommends libncurses5-dev && \
+  curl -ssLo /usr/local/bin/kerl https://raw.githubusercontent.com/kerl/kerl/master/kerl && chmod +x /usr/local/bin/kerl && \
+  kerl build $ERLANG_OTP_VERSION && kerl install $ERLANG_OTP_VERSION /usr/local/lib/otp/ && . /usr/local/lib/otp/activate && \
+  curl -ssLo /usr/local/bin/rebar3 https://github.com/erlang/rebar3/releases/download/${ERLANG_REBAR_VERSION}/rebar3 && chmod +x /usr/local/bin/rebar3 && \
+  rebar3 --version
+ENV PATH /usr/local/lib/otp/bin:$PATH
+
+RUN apt-get install -y --no-install-recommends \
+  `# GlibC dependencies` \
+  libglib2.0-dev
+
+# golang
+ENV GOLANG_VERSION 1.24.3
+ENV GOLANG_DOWNLOAD_URL https://go.dev/dl/go$GOLANG_VERSION.linux-amd64.tar.gz
+ENV GOLANG_DOWNLOAD_SHA256 3333f6ea53afa971e9078895eaa4ac7204a8c6b5c68c10e6bc9a33e8e391bdd8
+RUN curl -fsSL "$GOLANG_DOWNLOAD_URL" -o golang.tar.gz && \
+  echo "$GOLANG_DOWNLOAD_SHA256  golang.tar.gz" | sha256sum -c - && \
+  tar -C /usr/local -xzf golang.tar.gz && \
+  ln -s /usr/local/go/bin/go /usr/local/bin && \
+  rm golang.tar.gz
+
+# HAXE
+ARG HAXE_VERSION=4.2.1
+ARG NEKO_VERSION=2.3.0
+RUN cd $HOME && \
+    `# Haxe dependencies` && \
+    wget https://github.com/HaxeFoundation/haxe/releases/download/${HAXE_VERSION}/haxe-${HAXE_VERSION}-linux64.tar.gz && \
+    tar xvf haxe-${HAXE_VERSION}-linux64.tar.gz && \
+    rm haxe-${HAXE_VERSION}-linux64.tar.gz && \
+    mv haxe_* /opt/haxe && \
+    wget https://github.com/HaxeFoundation/neko/releases/download/v`echo ${NEKO_VERSION} | sed "s/\./-/g"`/neko-${NEKO_VERSION}-linux64.tar.gz && \
+    tar xvf neko-${NEKO_VERSION}-linux64.tar.gz && \
+    rm neko-${NEKO_VERSION}-linux64.tar.gz && \
+    mv neko-* /opt/neko
+ENV PATH /opt/haxe:/opt/neko:$PATH
+RUN echo "/opt/neko" > /etc/ld.so.conf.d/neko.conf && \
+    ldconfig
+USER ${user}
+RUN mkdir -p $HOME/haxe/lib && \
+    haxelib setup --always $HOME/haxe/lib && \
+    haxelib install --always hxcpp 2>&1 > /dev/null && \
+    haxelib install --always uuid 2>&1 > /dev/null
+USER root
+
+ENV GRADLE_VERSION="8.4"
+RUN apt-get install -y --no-install-recommends \
+  `# Java dependencies` \
+  ant \
+  ant-optional \
+  maven \
+  openjdk-17-jdk-headless && \
+  `# Gradle` \
+  wget https://services.gradle.org/distributions/gradle-$GRADLE_VERSION-bin.zip -q -O /tmp/gradle-$GRADLE_VERSION-bin.zip && \
+  (echo "3e1af3ae886920c3ac87f7a91f816c0c7c436f276a6eefdb3da152100fef72ae  /tmp/gradle-$GRADLE_VERSION-bin.zip" | sha256sum -c -) && \
+  unzip -d /tmp /tmp/gradle-$GRADLE_VERSION-bin.zip && \
+  mv /tmp/gradle-$GRADLE_VERSION /usr/local/gradle && \
+  ln -s /usr/local/gradle/bin/gradle /usr/local/bin
+
+RUN apt-get install -y --no-install-recommends \
+  `# Lua dependencies` \
+  lua5.4 \
+  liblua5.4-dev
+# https://bugs.launchpad.net/ubuntu/+source/lua5.3/+bug/1707212
+# lua5.3 does not install alternatives!
+# need to update our luasocket code, lua doesn't have luaL_openlib any more
+
+RUN apt-get install -y --no-install-recommends \
+  `# Node.js dependencies` \
+  nodejs
+
+# Test dependencies for running puppeteer
+RUN apt-get install -y --no-install-recommends \
+  `# JS dependencies` \
+  libxss1 \
+  libxtst6
+
+RUN apt-get install -y --no-install-recommends \
+  `# OCaml dependencies` \
+  ocaml \
+  opam && \
+  `# disable sandboxing see https://github.com/ocaml/opam/issues/4327` \
+  opam init --yes --disable-sandboxing && \
+  opam install --yes oasis
+
+RUN apt-get install -y --no-install-recommends \
+  `# Perl dependencies` \
+  libbit-vector-perl \
+  libclass-accessor-class-perl \
+  libcrypt-ssleay-perl \
+  libio-socket-ssl-perl \
+  libnet-ssleay-perl \
+  libtest-exception-perl
+
+RUN apt-get install -y --no-install-recommends \
+  `# Php dependencies` \
+  php8.3 \
+  php8.3-cli \
+  php8.3-dev \
+  php8.3-mbstring \
+  php8.3-xml \
+  php8.3-curl \
+  php8.3-xdebug \
+  php-pear \
+  re2c \
+  composer
+
+RUN apt-get install -y --no-install-recommends \
+  `# Python3 dependencies` \
+  python3-all \
+  python3-all-dbg \
+  python3-all-dev \
+  python3-pip \
+  python3-setuptools \
+  python3-tornado \
+  python3-twisted \
+  python3-wheel \
+  python3-zope.interface
+
+RUN apt-get install -y --no-install-recommends \
+  `# Ruby dependencies` \
+  ruby \
+  ruby-dev \
+  ruby-bundler
+
+USER ${user}
+RUN `# Rust dependencies` \
+    curl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain 1.83.0 -y
+ENV PATH /home/${user}/.cargo/bin:$PATH
+USER root
+
+# Swift on Linux for cross tests
+RUN apt-get install -yq \
+  libedit-dev \
+  libz3-dev \
+  python3-flake8 \
+  libxml2-dev && \
+  cd / && \
+  wget --quiet https://download.swift.org/swift-6.1-release/ubuntu2404/swift-6.1-RELEASE/swift-6.1-RELEASE-ubuntu24.04.tar.gz && \
+  tar xf swift-6.1-RELEASE-ubuntu24.04.tar.gz && \
+  mv swift-6.1-RELEASE-ubuntu24.04 /usr/share/swift && \
+  rm swift-6.1-RELEASE-ubuntu24.04.tar.gz
+
+ENV PATH /usr/share/swift/usr/bin:$PATH
+RUN swift --version
+
+# Locale(s) for cpp unit tests
+RUN apt-get install -y --no-install-recommends \
+  `# Locale dependencies` \
+  locales && \
+  locale-gen en_US.UTF-8 && \
+  locale-gen de_DE.UTF-8 && \
+  update-locale
+
+RUN apt-get install -y --no-install-recommends \
+  `# Static Code Analysis dependencies` \
+  cppcheck \
+  sloccount 
+  
+#RUN pip install flake8
+
+# NOTE: this does not reduce the image size but adds an additional layer.
+# # Clean up
+# RUN rm -rf /var/cache/apt/* && \
+#     rm -rf /var/lib/apt/lists/* && \
+#     rm -rf /tmp/* && \
+#     rm -rf /var/tmp/*
+
+ENV THRIFT_ROOT /thrift
+RUN mkdir -p $THRIFT_ROOT/src && \
+    chown -R ${uid}:${uid} $THRIFT_ROOT/
+COPY Dockerfile $THRIFT_ROOT/
+WORKDIR $THRIFT_ROOT/src
+
+USER ${user}
