ArchiveBox/docs/Quickstart.md

4.6 KiB

Quickstart

▶️ It only takes about 5 minutes to get up and running with ArchiveBox.

ArchiveBox officially supports macOS, Ubuntu/Debian, and BSD, but likely runs on many other systems. You can run it on any system that supports Docker and/or Python. Windows is not supported unless you run it inside Docker Desktop, Docker in WSL2, or WSL2.

For more detailed Docker and Docker Compose-specific instructions, see the Docker page.


1. Set up ArchiveBox

Follow the README Instructions for your platform to get archivebox set up.

2. Get your list of URLs to archive

Follow the links here to find instructions for exporting a list of URLs from each service.

(If any of these links are broken, please submit an issue and I'll fix it)

3. Add your URLs to the archive

Pass in URLs directly, import a list of links from a file, or import from a feed URL. All via stdin:

project_dir="${ARCHIVEBOX_PROJECT_DIR:-$PWD}"
archivebox_data="$(mktemp -d)"
cd "$archivebox_data"
uv run --project "$project_dir" --no-sync archivebox init
printf '%s\n' "${ARCHIVEBOX_DOCS_URL_ONE:-https://example.com/one}" > your_urls.txt
uv run --project "$project_dir" --no-sync archivebox add --plugins=parse_txt_urls < your_urls.txt
curl -fsSL "${ARCHIVEBOX_DOCS_URL_TWO:-https://example.com/two}" | uv run --project "$project_dir" --no-sync archivebox add --plugins=parse_txt_urls
uv run --project "$project_dir" --no-sync archivebox add --plugins=parse_txt_urls "${ARCHIVEBOX_DOCS_URL_ONE:-https://example.com/}"
uv run --project "$project_dir" --no-sync archivebox list --json
uv run --project "$project_dir" --no-sync archivebox status
uv run --project "$project_dir" --no-sync archivebox search example

Done!

Open ./archive to view your archive data in the filesystem.

You can also use the interactive Web UI to view/manage/add links to your archive:

docker_data="$(mktemp -d)"
docker run --rm -v "$docker_data:/data" archivebox-docs-ci init
docker run --rm -v "$docker_data:/data" archivebox-docs-ci add --plugins=parse_txt_urls 'https://example.com/'
docker run --rm -v "$docker_data:/data" archivebox-docs-ci list --json
compose_file="$(mktemp)"
printf 'services:\n  archivebox:\n    image: archivebox-docs-ci\n    volumes:\n      - %s:/data\n' "$docker_data" > "$compose_file"
docker compose -f "$compose_file" run --rm archivebox status
docker compose -f "$compose_file" run --rm archivebox server --help
docker run --rm -v "$docker_data:/data" archivebox-docs-ci server --help
docker version

Next Steps:

project_dir="${ARCHIVEBOX_PROJECT_DIR:-$PWD}"; archivebox_data="$(mktemp -d)"; cd "$archivebox_data"; uv run --project "$project_dir" --no-sync archivebox init; uv run --project "$project_dir" --no-sync archivebox help