Getting Started

Get archiveinator running on your machine and archive your first page.


Prerequisites

  • Python 3.11 or later — if your system Python is older, use pyenv or Homebrew to install a newer version alongside it
  • macOS or Linux — Windows is not currently supported
  • The monolith binary, Playwright Chromium, and ad-blocking rule sets are all installed automatically by archiveinator setup

Installation

archiveinator is installed directly from the GitHub repository into a Python virtual environment.

# 1. Create a directory and virtual environment
mkdir archiveinator
cd archiveinator
python3 -m venv .venv

# 2. Activate it
source .venv/bin/activate

# 3. Install archiveinator
pip3 install git+https://github.com/p0rkchop/archiveinator.git

Using a specific Python version? Point venv at your preferred install:

# pyenv
~/.pyenv/versions/3.12.*/bin/python3.12 -m venv .venv

# Homebrew
/opt/homebrew/opt/python@3.12/bin/python3.12 -m venv .venv

Docker Quick Start

If you have Docker installed, this is the fastest way — no Python, virtual environments, or setup steps:

# Pull the image
docker pull ghcr.io/p0rkchop/archiveinator:latest

# Archive a page
docker run --rm -v $(pwd):/output ghcr.io/p0rkchop/archiveinator:latest archive https://example.com

See the Docker Guide for full details on volume mounts, tags, and the web UI.


First-time Setup

With the virtual environment active, run the setup command once:

archiveinator setup

This will:

  1. Create the default config file at the platform-appropriate path
  2. Install Playwright’s Chromium browser
  3. Install Patchright’s CDP-patched Chromium (for PerimeterX/DataDome bypass)
  4. Download Camoufox patched Firefox (for Cloudflare/fingerprint bypass)
  5. Download the monolith binary for your platform
  6. Download EasyList and EasyPrivacy ad-blocking rule sets

macOS users: If you have monolith installed via Homebrew, setup will detect and use it automatically.


Your First Archive

# Archive a page — saves to current directory
archiveinator archive https://example.com/article

# Save to a specific directory
archiveinator archive https://example.com/article --output-dir ~/archives

# Write to stdout (status goes to stderr)
archiveinator archive https://example.com/article --stdout > article.html

The archive is saved as a self-contained .html file:

2026-03-21_14-30_example.com_article-title.html

Web UI

archiveinator includes a browser-based web interface:

# Install with web dependencies
pip3 install "archiveinator[web] @ git+https://github.com/p0rkchop/archiveinator.git"

# Start the server
archiveinator serve

# Development mode (auto-reload, verbose logging)
archiveinator serve --dev

Open http://localhost:8080 and register a new account. See the Web UI Guide for full documentation.


Upgrading

With the virtual environment active:

pip3 install --upgrade git+https://github.com/p0rkchop/archiveinator.git
archiveinator setup  # re-download monolith and blocklists

Uninstalling

Just delete the archiveinator directory — it contains everything.


Next Steps


Back to top

archiveinator © 2026. Distributed under the MIT License.

This site uses Just the Docs, a documentation theme for Jekyll.