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.
- Pinboard
- Instapaper
- Reddit Saved Posts
- Shaarli
- Unmark.it
- Wallabag
- Chrome Bookmarks
- Firefox Bookmarks
- Safari Bookmarks
- Opera Bookmarks
- Internet Explorer Bookmarks
- Chrome History:
./bin/export_browser_history.sh --chrome - Firefox History:
./bin/export_browser_history.sh --firefox - Safari History:
./bin/export_browser_history.sh --safari - Other File or URL: (e.g. RSS feed url, text file path) pass as second argument in the next step
(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
- Read Usage to learn about the various CLI and web UI functions
- Read Configuration to learn about the various archive method options
- Read Scheduled Archiving to learn how to set up automatic daily archiving
- Read Publishing Your Archive if you want to host your archive for others to access online
- Read Troubleshooting if you encounter any problems