Handbook

Install

We recommend using uv to install or run kalika. [1][2]

pip install uv
uvx kalika

Alternatively, if you like to install it account-wide on your system:

uv tool install kalika

Configure

Multiple or large instances of Heritrix processing many jobs require to increase certain system limits. Please define in /etc/sysctl.d/60-local.conf:

fs.inotify.max_user_instances = 10240
fs.inotify.max_user_watches = 20037690

Then, activate the new settings.

sysctl --system

Operate

Crawl

Run Heritrix.

docker run --detach --init --user root \
    --name heritrix-1 --rm --publish 8443:8443 \
    --env "USERNAME=admin" --env "PASSWORD=admin" --env "JAVA_OPTS=-Xmx4096M" \
    --volume /var/heritrix-1:/opt/heritrix/jobs docker.io/iipc/heritrix

Feed a list of URLs.

tmux new -s feed
export HERITRIX_URL="https://heritrix.example.org:8443/engine"
kalika heritrix add feed.txt

Drain WARC files into target directory.

tmux new -s drain
export HERITRIX_URL="https://heritrix.example.org:8443/engine"
kalika heritrix drain /media/archive

Replay

mkdir /media/replay
cd /media/replay
wb-manager init research-1
wb-manager add research-1 /media/archive/www.example.org.warc.gz
kalika serve --directory /media/replay

Tools

Display missing sites by comparing list of input URLs against files in the WARC output directory.

kalika urllist compare --url-list urls.txt --directory /media/archive

Create equal-sized chunks from URL file, named urls-00.txt, urls-01.txt, urls-02.txt, etc.

kalika urllist chunk urls.txt --chunk-size 500