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)