Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork1.3k
Install
ArchiveBox is primarily distributed as a Python package viapip
, but it also depends on some system packages that can be installed manually or automatically with Docker. It usually takes less than ~10min to get ArchiveBox set up and running.

- Supported Systems
- Install Instructions
- Next Steps
CPU Architectures:amd64
(x86_64
),arm64
(aarch64
),arm7
(Including 64-bit Intel/AMD, M1/M2/etc. Macs, Rasberry Pi >= 3)
- macOS: >=10.12 (with
brew
) - Linux: Ubuntu (>= 18.04), Debian (>= 10), etc. (with
apt
) - BSD: FreeBSD, OpenBSD, NetBSD etc (with
pkg
)
Other systems are not officially supported but may work with degraded functionality:
- Windows: ViaDocker, Docker in WSL2, or WSL2 without Docker (not recommended)
- Other UNIX systems: Arch, Nix, Guix, Fedora, SUSE, Arch, CentOS, etc.
Note: Onarm7
theplaywright
package is not available, sochromium
must be installed manually if needed.
You will also need at least 500MB of RAM (bare minimum), 2GB or greater is recommended. You may be able to reduce the RAM requirements if you disable all the chrome-based archiving methods withUSE_CHROME=False
.
It's also recommended to use a filesystem with compression and/ordeduplication (e.g.ZFS or BTRFS) for maximum efficiency.
Docker Compose is the recommended way to get ArchiveBox, as it includes all the extras out-of-the-box and provides the best security and upgrade UX.
If you don't already have docker installed, follow the official instructions to get Docker on Linux, macOS, or Windows:
https://docs.docker.com/install/#supported-platforms ➡️Then follow theQuickstart guide and read theDocker wiki page for next steps. ➡️
You can also run Dockerized ArchiveBox usingUNRAID/TrueNAS/Proxmox/etc. orKubernetes.
More info:
Dockerfile
docker-compose.yml
archivebox-kubernetes.yml
- ArchiveBox Docker Quickstart +Usage +Configuration +Upgrading documentation
If you're on Linux withapt
, FreeBSD withpkg
, or macOS withbrew
there is an optional auto-setup script provided.
(or scroll further down for manual install instructions)
curl -fsSL'https://get.archivebox.io'| bash# shortcut to run https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/stable/bin/setup.sh
The script explains what it installs beforehand, and will prompt for user confirmation before making any changes to your system. The script uses Docker if already installed, but you can decline and it will attempt to auto-install everything usingapt
/brew
/pkg
+pip
instead.
After running the setup script, continue with theQuickstart guide... ➡️
See here for our thoughts on theinherent limitations of
curl | sh
as an install method...
If you'd rather not useDocker or ourauto-install script, you can follow these manual setup instructions to install ArchiveBox and its dependencies usingpip
& your system package manager of choice (e.g.apt
,brew
,pkg
,nix
, etc.).
See ourDependencies documentation to see the full list of dependencies and how they're used. Not all the dependencies are required for all modes. If you disable some archive methods you can skip installing those dependencies, for example, if you setFETCH_MEDIA=False
you don't need to installyt-dlp
, and if you setFETCH_[PDF,SCREENSHOT,DOM]=False
you don't needchromium
.
More info:
- For help installing these, see theManual Setup,Troubleshooting andChromium Install pages.
- To use specific binaries for dependencies, see theConfiguration: Dependencies page.
- To disable unwanted dependencies, see theConfiguration: Archive Method Toggles page.
Be aware, you'll need to keep all these packages up-to-date yourself over time!
Make sure you haveHomebrew installed first.
# Install ArchiveBox's dependencies manually (instead of using the all-in-one brew package)brew install python3 node git wget curl ffmpeg yt-dlp ripgrep sonicpip install archiveboxarchivebox install# Optional: get FFMPEG with the AAC addon# brew tap homebrew-ffmpeg/ffmpeg# brew uninstall ffmpeg; brew install homebrew-ffmpeg/ffmpeg/ffmpeg --with-fdk-aac# Optional: get Chromium with brew (not needed if you already have /Applications/{Google Chrome,Chromium}.app)# brew install --cask chromium
Make sureapt
anddpkg
are available on your system.
# 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 -# 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 ripgrepsudo 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
sudo pkg install python git wget curl youtube_dl ripgrep py311-pip py311-sqlite3 npm ffmpegsudo pkg install chromium# or for older versions:# sudo pkg install python node wget curl git yt-dlp ffmpeg ripgrep chromium-browser
sudo pkg_add python3 node wget git curl yt-dlp ffmpeg ripgrep chromium
See theQuickstart instructions for other operating systems and release channels. ➡️

It's recommended topip
-install ArchiveBox even if you already installedarchivebox
with one of our officialapt
/brew
packages above (sometimes thepip
version is newer). This step also ensures you have the latestyt-dlp
andplaywright
versions.
# get the latest version of archivebox from PyPIpip install --upgrade --ignore-installed archivebox[ldap,sonic]# if you see errors about ldap, install the C++ build tools + ldap headers and retry (only needed on some OSs + if you want ldap)# apt install build-essensial python3-ldap
Finish installing the runtime JS dependencies that live inside your collection data dir (e.g. readability, singlefile, mercury).
# create a new empty folder anywhere to hold your collection, and cd into itmkdir -p~/archivebox/data&&cd~/archivebox/data# instantiate the directory as an archivebox collection dirarchivebox init# auto-install all the runtime JS dependencies inside ./node_modulesarchivebox setup# under the hood, this does:# - installs npm dependencies: singlefile, readability, puppeteer, etc.# - installs pip dependencies: yt-dlp, playwright, etc.# - checks for / installs sytem dependencies: curl, wget, etc# if you see "permission denied" errors, run 'sudo archivebox setup'# ✅ see a final detailed breakdown of all the installed dependencies and commands availablearchivebox versionarchiveboxhelp
Make sure thepip
-installed version ofarchivebox
is available in your$PATH
.
pip show archivebox# show info about the pip-installed version of archiveboxecho$PATH# show the directories your system is searching for binarieswhich -a archivebox# show all installed archivebox binaries availablewhich archivebox# show which archivebox binary is being calledcd~/archivebox/dataarchivebox version# ⭐️ show lots of useful info about installed dependencies and morearchivebox statusarchiveboxhelp
(ensure the version shown is the most recent available fromReleases)
Make sure to runarchivebox
as an unprivileged user (i.e. withoutsudo
/ not logged in asroot
).
Make sure to run all commands, includingarchivebox version
,archivebox help
, etc.inside a data directory (or a new empty dir that will become a data dir).
If you have issues getting Chromium / Google Chrome or other dependencies working with ArchiveBox, see theChromium Install andTroubleshooting pages for more detailed instructions.
For guides on how to import URLs from different sources into ArchiveBox, check outInput Formats andPreparing URLs. ➡️
cd~/archivebox/data
# feed in your URLs to start archiving!archivebox add --helparchivebox add<~/Downloads/bookmarks_export.html
# inspect the newly added Snapshots via the CLIarchivebox listarchivebox status
# OR start the webserver and view them in the Web UIarchivebox server 0.0.0.0:8000open http://localhost:8000
See ourUsage Wiki documentation page for more examples.
Make sure all apt/brew/pkg/etc. dependencies from above are installed & up-to-date first.
# get the latest archivebox version from PyPIpip install --upgrade --ignore-installed archivebox# run init inside any data directories to migrate the index to the latest versioncd~/archivebox/dataarchivebox setup# update runtime dependencies to latest versionsarchivebox init# update collection index & apply any migrations
Check our more detailedUpgrading documentation andRelease Notes if you run into any problems. ➡️
- ReadUsage to learn how to use the ArchiveBox CLI and HTML output
- ReadConfiguration to learn about the various archive method options
- ReadScheduled Archiving to learn how to set up automatic daily archiving
- ReadPublishing Your Archive if you want to host your archive for others to access online
- ReadTroubleshooting if you encounter any problems
- Upgrading
- Setting up Storage (NFS/SMB/S3/etc)
- Setting up Authentication (SSO/LDAP/etc)
- Setting up Search (rg/sonic/etc)
- Scheduled Archiving
- Publishing Your Archive
- Chromium Install
- Cookies & Sessions Setup
- Merging Collections
- Troubleshooting
- ⭐️Web Archiving Community
- Background & Motivation
- Comparison to Other Tools
- Architecture Diagram
- Changelog &Roadmap