commit e20d5d1a9035dd08b36ab168874dfba053166c4d Author: Jeff Walsh Date: Sun Jul 12 13:38:40 2026 -0400 first commit diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..02dde8c --- /dev/null +++ b/Dockerfile @@ -0,0 +1,27 @@ +FROM ubuntu:24.04 + +LABEL org.opencontainers.image.title="hlds-noble" +LABEL org.opencontainers.image.description="GoldSrc/HLDS runtime - Ubuntu 24.04, glibc 2.39, i386 multiarch" + +ENV DEBIAN_FRONTEND=noninteractive + +# i386 multiarch. Package names verified against noble: the t64 transition +# renamed libcurl4 -> libcurl4t64 and libssl3 -> libssl3t64. +RUN dpkg --add-architecture i386 \ + && apt-get update \ + && apt-get install -y --no-install-recommends \ + libc6:i386 libstdc++6:i386 libgcc-s1:i386 zlib1g:i386 \ + libcurl4t64:i386 libssl3t64:i386 libncurses6:i386 libtinfo6:i386 \ + lib32gcc-s1 lib32stdc++6 \ + ca-certificates curl wget iproute2 tar unzip xz-utils file locales tzdata \ + && rm -rf /var/lib/apt/lists/* \ + && useradd -m -d /home/container -s /bin/bash container + +COPY entrypoint.sh /entrypoint.sh +RUN chmod +x /entrypoint.sh + +USER container +ENV USER=container HOME=/home/container +WORKDIR /home/container + +CMD [ "/bin/bash", "/entrypoint.sh" ] diff --git a/entrypoint.sh b/entrypoint.sh new file mode 100644 index 0000000..6a8b55e --- /dev/null +++ b/entrypoint.sh @@ -0,0 +1,14 @@ +#!/bin/bash +cd /home/container || exit 1 + +INTERNAL_IP=$(ip route get 1 | awk '{print $(NF-2);exit}') +export INTERNAL_IP + +printf 'Ubuntu %s | glibc %s | i386 multiarch\n' \ + "$(. /etc/os-release && echo "$VERSION_ID")" \ + "$(ldd --version | head -1 | awk '{print $NF}')" + +MODIFIED_STARTUP=$(echo -e "${STARTUP}" | sed -e 's/{{/${/g' -e 's/}}/}/g') +echo -e ":/home/container$ ${MODIFIED_STARTUP}" + +eval ${MODIFIED_STARTUP}