Install browser runtime deps during Docker build

This commit is contained in:
Nick Sweeting 2026-05-23 16:03:11 -07:00
parent 943d4ee64b
commit 2bff7ee7a2
No known key found for this signature in database
3 changed files with 13 additions and 8 deletions

View File

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

View File

@ -1,6 +1,6 @@
{
"name": "archivebox",
"version": "0.9.31rc9",
"version": "0.9.31rc10",
"repository": "github:ArchiveBox/ArchiveBox",
"license": "MIT",
"dependencies": {

View File

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