Firefox comes from Mozilla's own apt repo, pinned above Ubuntu's snap-only package. geckodriver is at its latest release, independent of the Firefox version. Playwright installs its Chromium and Firefox; WebKit is skipped because no repository uses it today. Playwright's Chromium is exposed as the headless Chrome. Model: deepseek-v4-pro
32 lines
1.1 KiB
Docker
32 lines
1.1 KiB
Docker
# 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 \
|
|
PLAYWRIGHT_BROWSERS_PATH=/ms-playwright \
|
|
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"]
|