From 2bff7ee7a2ca746b10eb15778ac21585df6368d0 Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sat, 23 May 2026 16:03:11 -0700 Subject: [PATCH] Install browser runtime deps during Docker build --- Dockerfile | 13 +++++++++---- etc/package.json | 2 +- pyproject.toml | 6 +++--- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/Dockerfile b/Dockerfile index b6d11a27..d8e0a92f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -248,7 +248,7 @@ RUN --mount=type=cache,target=/var/cache/apt,sharing=locked,id=apt-$TARGETARCH$T # Runtime config used by plugin hooks. Plugin binaries and npm packages are # installed into LIB_DIR below by archivebox init --install. -ENV PATH="$LIB_DIR/npm/node_modules/.bin:$PATH" \ +ENV PATH="$LIB_DIR/bin:$LIB_DIR/env/bin:$LIB_DIR/pip/venv/bin:$LIB_DIR/npm/node_modules/.bin:$LIB_DIR/puppeteer/bin:$PATH" \ PERSONAS_DIR=/data/personas \ NODE_PATH="$LIB_DIR/npm/node_modules:/data/personas/Default/node_modules" \ CHROME_USER_DATA_DIR=/data/personas/Default/chrome_profile \ @@ -312,9 +312,14 @@ RUN openssl rand -hex 16 > /etc/machine-id \ && chown -R "$DEFAULT_PUID:$DEFAULT_PGID" "$LIB_DIR" \ && echo -e "\nTMP_DIR=$TMP_DIR\nLIB_DIR=$LIB_DIR\nMACHINE_ID=$(cat /etc/machine-id)\n" | tee -a /VERSION.txt -# Pre-bake plugin-managed runtime dependencies using the same installer path -# users run later via archivebox init --install / archivebox install. -RUN echo "[+] Initializing image collection and installing plugin runtime dependencies into $LIB_DIR..." \ +# Pre-bake plugin-managed runtime dependencies using the same installer paths +# users run later via archivebox init --install / archivebox install. Browser +# system deps need root for Puppeteer's --install-deps; the ArchiveBox install +# pass still runs as the archivebox user and records normal dependency state. +RUN echo "[+] Installing root-managed browser runtime dependencies into $LIB_DIR..." \ + && abx-dl install chrome \ + && chown -R "$DEFAULT_PUID:$DEFAULT_PGID" "$LIB_DIR" \ + && echo "[+] Initializing image collection and installing plugin runtime dependencies into $LIB_DIR..." \ && gosu "$DEFAULT_PUID" archivebox init --install \ && chown -R "$DEFAULT_PUID:$DEFAULT_PGID" "$DATA_DIR" "$LIB_DIR" diff --git a/etc/package.json b/etc/package.json index c1911045..9aac1279 100644 --- a/etc/package.json +++ b/etc/package.json @@ -1,6 +1,6 @@ { "name": "archivebox", - "version": "0.9.31rc9", + "version": "0.9.31rc10", "repository": "github:ArchiveBox/ArchiveBox", "license": "MIT", "dependencies": { diff --git a/pyproject.toml b/pyproject.toml index 856f135b..77cde055 100755 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "archivebox" -version = "0.9.31rc9" +version = "0.9.31rc10" requires-python = ">=3.13" description = "Self-hosted internet archiving solution." authors = [{name = "Nick Sweeting", email = "pyproject.toml@archivebox.io"}] @@ -80,8 +80,8 @@ dependencies = [ ### Binary/Package Management "abxbus>=2.5.4", # EventBus API "abxpkg>=1.10.7", # for: detecting, versioning, and installing binaries via apt/brew/pip/npm - "abx-plugins>=1.10.73", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring - "abx-dl>=1.10.73", # shared ArchiveBox downloader package with blocking install preflight + "abx-plugins>=1.10.74", # shared ArchiveBox plugin package with Chrome/Puppeteer dependency wiring + "abx-dl>=1.10.74", # shared ArchiveBox downloader package with blocking install preflight ### UUID7 backport for Python <3.14 "uuid7>=0.1.0; python_version < '3.14'", # provides the uuid_extensions module on Python 3.13 ]