mirror of
https://github.com/ArchiveBox/ArchiveBox.git
synced 2026-09-12 19:50:57 +05:00
Update install docs for dev uv packages
This commit is contained in:
parent
928da17a29
commit
cfbb2ba6cf
18
README.md
18
README.md
@ -29,7 +29,7 @@ Without active preservation effort, everything on the internet eventually disapp
|
||||
*ArchiveBox is an open source tool that lets organizations & individuals archive both public & private web content while retaining control over their data. It can be used to save copies of bookmarks, preserve evidence for legal cases, backup photos from FB/Insta/Flickr or media from YT/Soundcloud/etc., save research papers, and more...*
|
||||
<br/>
|
||||
|
||||
> ➡️ Get ArchiveBox with `pip install archivebox>=0.9.5rc1` on [Linux](#quickstart)/[macOS](#quickstart), or via **[Docker](#quickstart)** ⭐️ on any OS.
|
||||
> ➡️ Get ArchiveBox with `uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev'` on [Linux](#quickstart)/[macOS](#quickstart), or via **[Docker](#quickstart)** ⭐️ on any OS.
|
||||
|
||||
*Once installed, you can interact with it through the: [Browser Extension](https://github.com/ArchiveBox/archivebox-browser-extension), [CLI](#usage), [self-hosted web interface](https://github.com/ArchiveBox/ArchiveBox/wiki/Publishing-Your-Archive), [Python API](https://github.com/ArchiveBox/ArchiveBox/wiki/Usage#python-shell-usage), or [filesystem](#static-archive-exporting).*
|
||||
|
||||
@ -52,7 +52,7 @@ It also detects any content featured *inside* pages & extracts it out into a fol
|
||||
- 💾 **Github**/**Gitlab**/etc. links ➡️ `clone of GIT source code`, `README`, `images`, ...
|
||||
- ✨ *and more, see [Output Formats](#output-formats) below...*
|
||||
|
||||
You can run ArchiveBox as a Docker web app to manage these snapshots, or continue accessing the same collection using the `pip`-installed CLI, Python API, and SQLite3 APIs.
|
||||
You can run ArchiveBox as a Docker web app to manage these snapshots, or continue accessing the same collection using the `uv`-installed CLI, Python API, and SQLite3 APIs.
|
||||
All the ways of using it are equivalent, and provide matching features like adding tags, scheduling regular crawls, viewing logs, and more...
|
||||
|
||||
<br/>
|
||||
@ -68,7 +68,7 @@ The goal is to sleep soundly knowing the part of the internet you care about wil
|
||||
<br/>
|
||||
|
||||
|
||||
**📦 Install ArchiveBox using your preferred method: `docker` / `pip` / `apt` / etc. ([see full Quickstart below](#quickstart)).**
|
||||
**📦 Install ArchiveBox using your preferred method: `docker` / `uv` / `brew` / `apt` / etc. ([see full Quickstart below](#quickstart)).**
|
||||
|
||||
|
||||
<details>
|
||||
@ -305,7 +305,7 @@ archivebox version # make sure the package is installed
|
||||
<li>Create a new empty directory and initialize your collection (can be anywhere).
|
||||
<pre lang="bash"><code style="white-space: pre-line">mkdir -p ~/archivebox/data && cd ~/archivebox/data
|
||||
archivebox init
|
||||
sudo archivebox install
|
||||
archivebox install
|
||||
archivebox add 'https://example.com'
|
||||
</code></pre>
|
||||
<br/>
|
||||
@ -319,7 +319,7 @@ archivebox help
|
||||
</li>
|
||||
</ol>
|
||||
See <a href="#%EF%B8%8F-cli-usage">below</a> for more usage examples using the CLI, Web UI, or filesystem/SQL/Python to manage your archive.<br/>
|
||||
<sub>See the <a href="https://github.com/ArchiveBox/debian-archivebox"><code>debian-archivebox</code></a> repo for more details about this distribution.</sub>
|
||||
<sub>The apt package is a thin dev-channel wrapper around the normal Python install flow. See the <a href="https://github.com/ArchiveBox/debian-archivebox"><code>debian-archivebox</code></a> repo for details, and run <code>sudo archivebox install</code> only if you want it to install missing system packages via apt.</sub>
|
||||
<br/><br/>
|
||||
</details>
|
||||
|
||||
@ -525,12 +525,12 @@ archivebox persona create --import=chrome personal
|
||||
<summary><img src="https://user-images.githubusercontent.com/511499/117456282-08665e80-af16-11eb-91a1-8102eff54091.png" alt="curl sh automatic setup script" height="22px" align="top"/> <b>CLI Usage Examples: non-Docker</b></summary>
|
||||
<br/>
|
||||
<pre lang="bash"><code style="white-space: pre-line">
|
||||
# make sure you have pip-installed ArchiveBox and it's available in your $PATH first
|
||||
# make sure you have uv-installed ArchiveBox and it's available in your $PATH first
|
||||
<br/>
|
||||
# archivebox [subcommand] [--help]
|
||||
mkdir -p ~/archivebox/data && cd ~/archivebox/data
|
||||
archivebox init
|
||||
sudo archivebox install
|
||||
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
|
||||
@ -630,13 +630,13 @@ docker compose run archivebox config --set ...
|
||||
|
||||
> [!TIP]
|
||||
> Whether in Docker or not, ArchiveBox commands work the same way, and can be used to access the same data on-disk.
|
||||
> For example, you could run the Web UI in Docker Compose, and run one-off commands with `pip`-installed ArchiveBox.
|
||||
> For example, you could run the Web UI in Docker Compose, and run one-off commands with `uv`-installed ArchiveBox.
|
||||
|
||||
<details>
|
||||
<summary><i>Expand to show comparison...</i></summary><br/>
|
||||
|
||||
<pre lang="bash"><code style="white-space: pre-line">
|
||||
archivebox add --depth=1 'https://example.com' # add a URL with pip-installed archivebox on the host
|
||||
archivebox add --depth=1 'https://example.com' # add a URL with uv-installed archivebox on the host
|
||||
docker compose run archivebox add --depth=1 'https://example.com' # or w/ Docker Compose
|
||||
docker run -it -v $PWD:/data archivebox/archivebox:dev add --depth=1 'https://example.com' # or w/ Docker, all equivalent
|
||||
</code></pre>
|
||||
|
||||
@ -478,7 +478,7 @@ URL users are redirected to after logging out. The default `/` keeps users on Ar
|
||||
|
||||
### LDAP Settings
|
||||
|
||||
*Options for LDAP / Active Directory authentication via [django-auth-ldap](https://github.com/django-auth-ldap/django-auth-ldap). Requires `pip install archivebox[ldap]` (which also pulls in the system `libldap` / `libsasl` headers).*
|
||||
*Options for LDAP / Active Directory authentication via [django-auth-ldap](https://github.com/django-auth-ldap/django-auth-ldap). Requires `uv tool install --python 3.13 --upgrade 'archivebox[ldap] @ git+https://github.com/ArchiveBox/ArchiveBox.git@dev'` (which also pulls in the system `libldap` / `libsasl` headers).*
|
||||
|
||||
---
|
||||
#### `LDAP_ENABLED`
|
||||
@ -487,7 +487,7 @@ URL users are redirected to after logging out. The default `/` keeps users on Ar
|
||||
Master switch for LDAP authentication. When `True`, ArchiveBox loads the `django-auth-ldap` backend and validates that `LDAP_SERVER_URI`, `LDAP_BIND_DN`, `LDAP_BIND_PASSWORD`, and `LDAP_USER_BASE` are all set — startup fails fast otherwise.
|
||||
|
||||
```bash
|
||||
pip install archivebox[ldap]
|
||||
uv tool install --python 3.13 --upgrade 'archivebox[ldap] @ git+https://github.com/ArchiveBox/ArchiveBox.git@dev'
|
||||
```
|
||||
|
||||
Then set these configuration values:
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
# Install
|
||||
|
||||
ArchiveBox is primarily distributed as a Python package via `pip`, 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.
|
||||
ArchiveBox is primarily distributed as a Python package installed with `uv`, 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.
|
||||
|
||||
<img src="https://github.com/ArchiveBox/ArchiveBox/assets/511499/601d587d-b59f-47b9-938e-8a7fa7790176" width="20%" align="right"/>
|
||||
|
||||
@ -99,7 +99,7 @@ After running the setup script, continue with the [Quickstart](https://github.co
|
||||
|
||||
## Option C. Bare Metal Setup
|
||||
|
||||
If you'd rather not use [Docker](https://github.com/ArchiveBox/ArchiveBox#%EF%B8%8F-easy-setup) or our [auto-install script](https://github.com/ArchiveBox/ArchiveBox#%EF%B8%8F-easy-setup), you can follow these manual setup instructions to install ArchiveBox and its dependencies using `pip` & your system package manager of choice (e.g. `apt`, `brew`, `pkg`, `nix`, etc.).
|
||||
If you'd rather not use [Docker](https://github.com/ArchiveBox/ArchiveBox#%EF%B8%8F-easy-setup) or our [auto-install script](https://github.com/ArchiveBox/ArchiveBox#%EF%B8%8F-easy-setup), you can follow these manual setup instructions to install ArchiveBox and its dependencies using `uv` & your system package manager of choice (e.g. `apt`, `brew`, `pkg`, `nix`, etc.).
|
||||
|
||||
See our [Dependencies](https://github.com/ArchiveBox/ArchiveBox#dependencies) 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 set [`MEDIA_ENABLED=False`](https://archivebox.github.io/abx-plugins/#media) you don't need to install `yt-dlp`, and if you set [`PDF_ENABLED=False`](https://archivebox.github.io/abx-plugins/#pdf), [`SCREENSHOT_ENABLED=False`](https://archivebox.github.io/abx-plugins/#screenshot), and [`DOM_ENABLED=False`](https://archivebox.github.io/abx-plugins/#dom) you don't need `chromium`.
|
||||
|
||||
@ -124,9 +124,9 @@ See our [Dependencies](https://github.com/ArchiveBox/ArchiveBox#dependencies) do
|
||||
Make sure you have [Homebrew](https://brew.sh/) installed first.
|
||||
|
||||
```bash
|
||||
# Install ArchiveBox's dependencies manually (instead of using the all-in-one brew package)
|
||||
brew install python@3.13 node git wget curl ffmpeg yt-dlp ripgrep sonic
|
||||
pip install archivebox
|
||||
# Install ArchiveBox's dependencies manually (instead of using the all-in-one brew tap)
|
||||
brew install uv node git wget curl ffmpeg yt-dlp ripgrep sonic
|
||||
uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev'
|
||||
archivebox install
|
||||
|
||||
# Optional: get FFMPEG with the AAC addon
|
||||
@ -150,13 +150,15 @@ sudo apt install archivebox
|
||||
|
||||
mkdir -p ~/archivebox/data && cd ~/archivebox/data
|
||||
archivebox init
|
||||
sudo archivebox install
|
||||
archivebox install
|
||||
archivebox add 'https://example.com'
|
||||
```
|
||||
|
||||
The apt package installs the ArchiveBox Python application. Runtime extractor
|
||||
The apt package is a thin dev-channel wrapper around the normal Python install
|
||||
flow. Runtime extractor
|
||||
dependencies such as Chromium, yt-dlp, SingleFile, and other plugin-managed
|
||||
tools are installed by `sudo archivebox install`.
|
||||
tools are installed by `archivebox install`; use `sudo archivebox install` only
|
||||
if you want it to install missing system packages via apt.
|
||||
|
||||
<img src="https://cdn0.iconfinder.com/data/icons/flat-round-system/512/freebsd-512.png" width="30px" align="right"/>
|
||||
|
||||
@ -211,7 +213,7 @@ mkdir -p ~/archivebox/data && cd ~/archivebox/data
|
||||
archivebox init
|
||||
|
||||
# auto-install runtime dependencies such as Chromium, yt-dlp, SingleFile, etc.
|
||||
sudo archivebox install
|
||||
archivebox install
|
||||
|
||||
# archive a first URL
|
||||
archivebox add 'https://example.com'
|
||||
@ -225,13 +227,12 @@ archivebox help
|
||||
|
||||
### Troubleshooting
|
||||
|
||||
Make sure the `pip`-installed version of `archivebox` is available in your `$PATH`.
|
||||
Make sure the `uv`-installed version of `archivebox` is available in your `$PATH`.
|
||||
```bash
|
||||
pip show archivebox # show info about the pip-installed version of archivebox
|
||||
uv tool list # show info about uv-installed tools
|
||||
|
||||
echo $PATH # show the directories your system is searching for binaries
|
||||
type -a archivebox # show all installed archivebox binaries available
|
||||
which archivebox # show which archivebox binary is being called
|
||||
|
||||
cd ~/archivebox/data
|
||||
archivebox version # ⭐️ show lots of useful info about installed dependencies and more
|
||||
@ -285,7 +286,7 @@ uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/Archi
|
||||
# run init inside any data directories to migrate the index to the latest version
|
||||
cd ~/archivebox/data
|
||||
archivebox init # update collection index & apply any migrations
|
||||
sudo archivebox install # update runtime dependencies to latest versions
|
||||
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. ➡️
|
||||
|
||||
@ -82,9 +82,9 @@ LOGOUT_REDIRECT_URL=https://auth.yourcompany.example.com/after/logout
|
||||
|
||||
> Can be used with an SSO provider like [Authentik](https://github.com/goauthentik/authentik), [Authelia](https://github.com/authelia/authelia), [Okta / Auth0](https://www.okta.com/), [Keycloak](https://www.keycloak.org/), and others.
|
||||
|
||||
First, `pip`-install the `ldap` add-on to use this feature (not needed for Docker Archivebox).
|
||||
First, install the `ldap` add-on to use this feature (not needed for Docker Archivebox).
|
||||
```bash
|
||||
pip install archivebox[ldap]
|
||||
uv tool install --python 3.13 --upgrade 'archivebox[ldap] @ git+https://github.com/ArchiveBox/ArchiveBox.git@dev'
|
||||
```
|
||||
|
||||
Then set these configuration values to finish configuring LDAP:
|
||||
|
||||
@ -144,7 +144,7 @@ Internally it functions as an index store, storing only the original IDs of the
|
||||
|
||||
*ArchiveBox has supported Sonic for years, and it is the most thoroughly tested and recommended backend for ArchiveBox users that need to scale beyond `ripgrep`.*
|
||||
|
||||
Using [sonic with ArchiveBox in Docker Compose](https://github.com/ArchiveBox/ArchiveBox/blob/dev/docker-compose.yml) is the easiest way to get started, though you can also use it without Docker by [installing it manually](https://github.com/valeriansaliou/sonic#installation) and then running `pip install archivebox[sonic]`.
|
||||
Using [sonic with ArchiveBox in Docker Compose](https://github.com/ArchiveBox/ArchiveBox/blob/dev/docker-compose.yml) is the easiest way to get started, though you can also use it without Docker by [installing it manually](https://github.com/valeriansaliou/sonic#installation) and then running `uv tool install --python 3.13 --upgrade 'archivebox[sonic] @ git+https://github.com/ArchiveBox/ArchiveBox.git@dev'`.
|
||||
|
||||
```bash
|
||||
# edit docker-compose.yml to uncomment the lines that enable sonic
|
||||
|
||||
@ -21,11 +21,10 @@ Then make sure `archivebox` is installed available in your `$PATH`.
|
||||
```bash
|
||||
apt show archivebox # show info about the apt-installed version of archivebox
|
||||
brew info archivebox # show info about the brew-installed version of archivebox
|
||||
pip show archivebox # show info about the pip-installed version of archivebox
|
||||
uv tool list # show info about uv-installed tools
|
||||
|
||||
echo $PATH # show the directories your system is searching for binaries
|
||||
type -a archivebox # show all installed archivebox binaries available
|
||||
which archivebox # show which archivebox binary is being called
|
||||
```
|
||||
**⭐️ Show the full archivebox version info + info about all installed dependencies:**
|
||||
```bash
|
||||
@ -34,7 +33,7 @@ archivebox version # shows lots of useful info about installed dependencie
|
||||
(ensure the version shown is the most recent available from [Releases](https://github.com/ArchiveBox/ArchiveBox/releases))
|
||||
|
||||
### macOS
|
||||
ArchiveBox can be installed with Homebrew or `pip`/`pipx` on macOS:
|
||||
ArchiveBox can be installed with Homebrew or `uv` on macOS:
|
||||
```bash
|
||||
brew tap archivebox/archivebox
|
||||
brew install archivebox
|
||||
@ -119,7 +118,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
|
||||
sudo archivebox install # auto-installs runtime dependencies
|
||||
archivebox install # auto-installs runtime dependencies
|
||||
# equivalent to:
|
||||
# curl -fsSL 'https://raw.githubusercontent.com/ArchiveBox/ArchiveBox/dev/archivebox/package.json' > package.json
|
||||
# npm install
|
||||
|
||||
@ -4,9 +4,9 @@
|
||||
# cd /path/to/your/archivebox/data
|
||||
cd ~/archivebox/data
|
||||
|
||||
pip install --upgrade --ignore-installed archivebox
|
||||
uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev'
|
||||
# or
|
||||
docker pull archivebox/archivebox:latest
|
||||
docker pull archivebox/archivebox:dev
|
||||
|
||||
# upgrade the collection to a new version
|
||||
archivebox init
|
||||
@ -27,7 +27,7 @@ archivebox init
|
||||
---
|
||||
|
||||
*Note: It's recommended to only upgrade one major version at a time. e.g. if you're on `v0.4.14`, upgrade to `v0.5.6` next, then `v0.6.3`, and finally `v0.7.1` (as 3 separate steps).
|
||||
You can specify exact versions with pip like so: `pip install archivebox==0.6.3` or with docker `docker pull archivebox/archivebox:0.6.3`. Upgrading directly across multiple major versions may work in some cases, but is not recommended for maximum data safety.*
|
||||
You can specify exact versions with uv like so: `uv tool install --python 3.13 --upgrade archivebox==0.6.3` or with docker `docker pull archivebox/archivebox:0.6.3`. Upgrading directly across multiple major versions may work in some cases, but is not recommended for maximum data safety.*
|
||||
|
||||
|
||||
---
|
||||
@ -99,7 +99,7 @@ cd ~/archivebox/data # or wherever your data folder is
|
||||
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
|
||||
uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev'
|
||||
# or
|
||||
sudo apt update
|
||||
sudo apt install --only-upgrade archivebox
|
||||
@ -107,7 +107,7 @@ sudo apt install --only-upgrade archivebox
|
||||
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 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)
|
||||
|
||||
|
||||
@ -26,7 +26,7 @@
|
||||
All three of these ways of running ArchiveBox are equivalent and interchangeable:
|
||||
|
||||
- `archivebox [subcommand] [...args]`
|
||||
*Using the PyPI package via `pip install archivebox`*
|
||||
*Using the Python package via `uv tool install archivebox`*
|
||||
- `docker run ... archivebox/archivebox [subcommand] [...args]`
|
||||
*Using the official Docker image*
|
||||
- `docker-compose run archivebox [subcommand] [...args]`
|
||||
|
||||
@ -496,7 +496,7 @@ You can find more organizations and initiatives on these other lists:
|
||||
- [Python PyPI](https://pypi.org/project/archivebox/)
|
||||
- [Docker Hub](https://hub.docker.com/r/archivebox/archivebox)
|
||||
- [ArchLinux AUR](https://aur.archlinux.org/packages/archivebox)
|
||||
- [Ubuntu Launchpad PPA](https://launchpad.net/~archivebox/+archive/ubuntu/archivebox)
|
||||
- [Ubuntu/Debian apt wrapper](https://github.com/ArchiveBox/debian-archivebox)
|
||||
|
||||
---
|
||||
|
||||
|
||||
@ -23,7 +23,7 @@ ArchiveBox
|
||||
.. code-block:: bash
|
||||
|
||||
mkdir my-archive; cd my-archive/
|
||||
pip install archivebox
|
||||
uv tool install --python 3.13 --upgrade 'git+https://github.com/ArchiveBox/ArchiveBox.git@dev'
|
||||
|
||||
archivebox init
|
||||
archivebox add https://example.com
|
||||
|
||||
Loading…
Reference in New Issue
Block a user