Add fat Ubuntu 26.04 base image with runit, Go, Node, Python toolchains

Single-RUN image built by build.sh on ubuntu:26.04: build-essential,
distro plus latest Go, nvm with Node LTS, corepack with yarn/pnpm cached,
wrangler, hugo extended, golangci-lint, pyenv with latest Python 3, pip
and virtualenv. runit services supervised under runsvinit as PID 1.
Docs, man pages, caches and non-English locales stripped.

Includes build logs for the 2026-11-05 release (amd64 and arm64).
This commit is contained in:
2026-11-05 04:37:00 -08:00
parent ff18e169e7
commit df31d11028
7 changed files with 7675 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
# syntax=docker/dockerfile:1
#
# Fat base image: current Ubuntu LTS with Go, Node, Python, Hugo, and the
# usual build tooling preinstalled, supervised by runit under runsvinit.
# Builds for linux/amd64 and linux/arm64 from the same definition.
# All the work happens in build.sh.
FROM ubuntu:26.04
# Pinned sources. Everything else (apt, Go, Node LTS, Python, Hugo,
# golangci-lint, yarn, wrangler) resolves to its current release at build.
ARG RUNSVINIT_COMMIT=b4b2c785308b1ce785b6155c7fe5f16879080193
ARG NVM_GIT_TAG=v0.41.0
ARG PYENV_GIT_TAG=v2.8.14
ENV LANG=C.UTF-8 \
NVM_DIR=/usr/local/nvm \
NVM_SYMLINK_CURRENT=true \
COREPACK_HOME=/usr/local/corepack \
COREPACK_ENABLE_DOWNLOAD_PROMPT=0 \
COREPACK_ENABLE_AUTO_PIN=0 \
PYENV_ROOT=/usr/local/pyenv \
GOPATH=/root/go \
PATH=/usr/local/go/bin:/root/go/bin:/usr/local/nvm/current/bin:/usr/local/pyenv/shims:/usr/local/pyenv/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
COPY rootfs/ /
ADD build.sh /tmp/build.sh
RUN bash /tmp/build.sh
CMD ["/usr/local/sbin/runsvinit"]