From 8a22449c298065277fca0dd863d3e318c516f7be Mon Sep 17 00:00:00 2001 From: Nick Sweeting Date: Sun, 7 Jun 2026 02:42:18 -0700 Subject: [PATCH] Update apt install documentation --- README.md | 24 +++++++++++++-------- docs/Install.md | 46 ++++++++++++++++++++--------------------- docs/Troubleshooting.md | 4 ++-- docs/Upgrading.md | 4 +++- 4 files changed, 42 insertions(+), 36 deletions(-) diff --git a/README.md b/README.md index 7daf830b..008a9f90 100644 --- a/README.md +++ b/README.md @@ -299,12 +299,14 @@ See below for more usage examples using the C
echo 'deb [trusted=yes] https://archivebox.github.io/debian-archivebox dev main' | sudo tee /etc/apt/sources.list.d/archivebox.list
 sudo apt update
 sudo apt install archivebox
-archivebox version                         # make sure all dependencies are installed
+archivebox version                         # make sure the package is installed
 
  • Create a new empty directory and initialize your collection (can be anywhere). -
    mkdir -p ~/archivebox/data && cd ~/archivebox/data
    -archivebox init --install
    +
    mkdir ~/archivebox/data && cd ~/archivebox/data
    +archivebox init
    +sudo archivebox install
    +archivebox add 'https://example.com'
     

  • @@ -510,10 +512,12 @@ archivebox persona create --import=chrome personal # make sure you have pip-installed ArchiveBox and it's available in your $PATH first
    # archivebox [subcommand] [--help] -archivebox init --install # safe to run init multiple times (also how you update versions) +mkdir ~/archivebox/data && cd ~/archivebox/data +archivebox init +sudo archivebox install +archivebox add 'https://example.com' archivebox version # get archivebox version info + check dependencies archivebox help # get list of archivebox subcommands that can be run -archivebox add --depth=1 'https://news.ycombinator.com'
    For more info, see our Usage: CLI Usage wiki. ➡️ @@ -527,10 +531,11 @@ archivebox add --depth=1 'https://news.ycombinator.com' # make sure you have `docker-compose.yml` from the Quickstart instructions first
    # docker compose run archivebox [subcommand] [--help] -docker compose run archivebox init --install +docker compose run archivebox init +docker compose run archivebox install docker compose run archivebox version docker compose run archivebox help -docker compose run archivebox add --depth=1 'https://news.ycombinator.com' +docker compose run archivebox add 'https://example.com' # to start webserver: docker compose up For more info, see our Usage: Docker Compose CLI wiki. ➡️ @@ -545,10 +550,11 @@ docker compose run archivebox add --depth=1 'https://news.ycombinator.com' # make sure you create and cd into in a new empty directory first
    # docker run -it -v $PWD:/data archivebox/archivebox [subcommand] [--help] -docker run -v $PWD:/data -it archivebox/archivebox init --install +docker run -v $PWD:/data -it archivebox/archivebox init +docker run -v $PWD:/data -it archivebox/archivebox install docker run -v $PWD:/data -it archivebox/archivebox version docker run -v $PWD:/data -it archivebox/archivebox help -docker run -v $PWD:/data -it archivebox/archivebox add --depth=1 'https://news.ycombinator.com' +docker run -v $PWD:/data -it archivebox/archivebox add 'https://example.com' # to start webserver: docker run -v $PWD:/data -it -p 8000:8000 archivebox/archivebox For more info, see our Usage: Docker CLI wiki. ➡️ diff --git a/docs/Install.md b/docs/Install.md index 71c31e93..e90593d0 100644 --- a/docs/Install.md +++ b/docs/Install.md @@ -142,23 +142,23 @@ archivebox install #### Ubuntu/Debian-based Systems -Make sure `apt` and `dpkg` are available on your system. +Use the third-party ArchiveBox apt repo for the simplest bare-metal install: ```bash -# add the nodejs sources to your apt lists (optional, otherwise may use older node) -curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - +echo 'deb [trusted=yes] https://archivebox.github.io/debian-archivebox dev main' | sudo tee /etc/apt/sources.list.d/archivebox.list +sudo apt update +sudo apt install archivebox -# Install base system dependencies manually (check ArchiveBox/Dockerfile for more if needed) -sudo apt install python3 python3-pip python3-minimal nodejs libatomic1 zlib1g-dev libssl-dev libldap2-dev libsasl2-dev python3-ldap python3-msgpack python3-mutagen python3-regex python3-pycryptodome procps dnsutils wget curl git yt-dlp ffmpeg ripgrep -sudo apt install python3-setuptools # or: python3-distutils on older systems - -# Optional: get Chromium with pip (skip if you already have chromium-browser/google-chrome installed and in your $PATH) -# pip install --upgrade playwright -# playwright install --with-deps chromium -# OR: get chromium and manually with apt (not recommended, often out-of-date) -# sudo apt install chromium fontconfig fonts-ipafont-gothic fonts-wqy-zenhei fonts-thai-tlwg fonts-kacst fonts-symbola fonts-noto fonts-freefont-ttf +mkdir ~/archivebox/data && cd ~/archivebox/data +archivebox init +sudo archivebox install +archivebox add 'https://example.com' ``` +The apt package installs the ArchiveBox Python application. Runtime extractor +dependencies such as Chromium, yt-dlp, SingleFile, and other plugin-managed +tools are installed by `sudo archivebox install`. + @@ -189,7 +189,7 @@ See the [Quickstart](https://github.com/ArchiveBox/ArchiveBox#-package-manager-s ### 2. Install the Python dependencies using `pip` -It's recommended to `pip`-install ArchiveBox even if you already installed `archivebox` with one of our official `apt`/`pkg` packages above (sometimes the `pip` version is newer). This step also ensures you have the latest `yt-dlp` and `playwright` versions. +If you are not using the apt package above, install ArchiveBox with `pip`. ```bash # get the latest version of archivebox from PyPI @@ -201,23 +201,21 @@ pip install --upgrade --ignore-installed archivebox[ldap,sonic]
    -### 3. Install the JS dependencies using `archivebox setup` +### 3. Install runtime dependencies using `archivebox install` -Finish installing the runtime JS dependencies that live inside your collection data dir (e.g. readability, singlefile, mercury). +Finish installing runtime dependencies for the enabled ArchiveBox plugins. ```bash # create a new empty folder anywhere to hold your collection, and cd into it -mkdir -p ~/archivebox/data && cd ~/archivebox/data +mkdir ~/archivebox/data && cd ~/archivebox/data # instantiate the directory as an archivebox collection dir archivebox init -# auto-install all the runtime JS dependencies inside ./node_modules -archivebox setup -# under the hood, this does: -# - installs npm dependencies: singlefile, readability, puppeteer, etc. -# - installs pip dependencies: yt-dlp, playwright, etc. -# - checks for / installs system dependencies: curl, wget, etc -# if you see "permission denied" errors, run 'sudo archivebox setup' +# auto-install runtime dependencies such as Chromium, yt-dlp, SingleFile, etc. +sudo archivebox install + +# archive a first URL +archivebox add 'https://example.com' # ✅ see a final detailed breakdown of all the installed dependencies and commands available archivebox version @@ -287,8 +285,8 @@ pip install --upgrade --ignore-installed archivebox # run init inside any data directories to migrate the index to the latest version cd ~/archivebox/data -archivebox setup # update runtime dependencies to latest versions archivebox init # update collection index & apply any migrations +sudo archivebox install # update runtime dependencies to latest versions ``` Check our more detailed [Upgrading](https://github.com/ArchiveBox/ArchiveBox/wiki/Upgrading-or-Merging-Archives) documentation and [Release Notes](https://github.com/ArchiveBox/ArchiveBox/releases) if you run into any problems. ➡️ diff --git a/docs/Troubleshooting.md b/docs/Troubleshooting.md index 8d7d417c..06f2673b 100644 --- a/docs/Troubleshooting.md +++ b/docs/Troubleshooting.md @@ -110,7 +110,7 @@ a bug in versions `<=1.19.1_1` that caused wget to fail for perfectly valid site ### NPM Dependencies -NPM packages like `readability`, `singlefile`, etc. are auto-installed by `archivebox setup` into `data/node_modules`. +NPM packages like `readability`, `singlefile`, etc. are auto-installed by `archivebox install`. Make sure you have installed NodeJS + NPM first, here are their [official install docs](https://nodejs.org/en/download/package-manager/). @@ -119,7 +119,7 @@ node --version # make sure you have node >=19 installed npm --version # make sure you have npm installed cd ~/archivebox/data # go into your data directory -archivebox setup # auto-installs all JS dependencies into ./node_modules +sudo archivebox install # auto-installs runtime dependencies # equivalent to: # curl -fsSL 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/stable/archivebox/package.json' > package.json # npm install diff --git a/docs/Upgrading.md b/docs/Upgrading.md index a4da2ed2..10844193 100644 --- a/docs/Upgrading.md +++ b/docs/Upgrading.md @@ -101,11 +101,13 @@ killall archivebox # stop the currently running archivebox version # upgrade ArchiveBox using the package manager you originally used to install it pip install --upgrade --ignore-installed archivebox # or -apt install --upgrade archivebox +sudo apt update +sudo apt install --only-upgrade archivebox # or with the optional auto-installer script curl -sSL 'https://get.archivebox.io' | sh archivebox init # run init to upgrade the collection to the latest version +sudo archivebox install # refresh runtime dependencies if needed archivebox update --index-only # optionally force an update of the snapshot index files (normally done lazily, see issue #962 for more info)