This repo builds the archivebox .deb package used by apt install on Ubuntu/Debian-based systems.
The package is just a thin apt wrapper around the normal Python install flow, it's not a "proper debian package" because it depends on postinstall scripts to setup python, uv, and archivebox.
aptinstalls/usr/bin/archivebox,/opt/archivebox/install.sh, a systemd unit, and a small package metadata file.postinstallinstalls the official prebuiltuvinto/opt/archivebox/uv.uvresolves Python 3.13 from the host or its normal managed-Python location for thearchiveboxsystem user.uv pip installinstalls ArchiveBox into/opt/archivebox/venv.archivebox installinstalls the runtime dependencies for all enabled extractor plugins.
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 archiveboxThe systemd service uses /var/lib/archivebox as its collection. Install the
extractor dependencies before starting it, then create its admin user:
cd /var/lib/archivebox
sudo archivebox install
sudo systemctl enable --now archivebox
sudo -u archivebox -H bash -lc 'cd /var/lib/archivebox && archivebox manage createsuperuser'The package creates the archivebox system user and the state/config/runtime
directories needed for systemd usage. To use a separate personal collection
instead, run the normal commands in a directory you own:
mkdir -p ~/archivebox/data && cd ~/archivebox/data
archivebox init
archivebox install
archivebox add 'https://example.com'If managed plugin installation needs system packages, run sudo archivebox install from the collection directory. The wrapper drops privileges to the
collection owner and does not recursively change collection ownership.
go install github.com/goreleaser/nfpm/v2/cmd/nfpm@latest
ARCHIVEBOX_VERSION=0.9.35rc175 ./bin/build_deb.sh
sudo apt install ./dist/archivebox_*.debARCHIVEBOX_VERSION is the only ArchiveBox release input. The package stores
that version in /opt/archivebox/package.env and installs
archivebox==VERSION from PyPI; it never clones or embeds the ArchiveBox source
tree.
Before publishing, CI verifies the built package on an Ubuntu GitHub Actions
runner by installing the .deb with apt, running the installed
/usr/bin/archivebox as both root and a normal passwordless-sudo user, running
full archivebox install flows for both, archiving a local fixture page as the
normal user, and asserting that index.sqlite3 plus real files under archive/
are written to disk.