Files
sneak 574c5cdbce Add browsers for tests: Playwright, Firefox, geckodriver, headless Chrome (closes #10)
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
2026-11-05 15:45:26 +00:00

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"]