mirror of
https://github.com/kiwix/kiwix-tools.git
synced 2025-12-23 22:28:10 -05:00
PR#489 (01430603b6) introduced dumb-init for better
signals handling.
While this has the intended effect, it was done ny downloading the dumb-init static bin
into the image… only using the amd64 version.
Ever since, the image(s) have been broken for armv7 and arm64.
As dumb-init doesn't provide 32b arm binary and because it's such a simple/small code,
this fix compiles it in a builder shallow image ; ensuring we're getting an appropriate
binary for the target arch.
We are also statically linking against musl-C as this is supported by dumb-init and is
much smaller than glibc.
Kiwix-tools Docker image
- Available on docker.io and ghcr.io.
- multi-arch (
linux/amd64,linux/arm64,linux/arm/v7) - based on official
kiwix-toolsbinaries.
Usage
$ docker run -it kiwix/kiwix-tools:3.1.2
Welcome to kiwix-tools! The following binaries are available:
kiwix-manage kiwix-read kiwix-search kiwix-serve
kiwix-tools operates on zim files. You shall mount a volume to access the files.
docker run -v $(pwd):/data -it kiwix/kiwix-tools kiwix-read --suggest="Mali" /data/wikipedia_fr_test.zim
Building and reusing
kiwix/kiwix-toolsis multi-arch and is ideally built usingbuildx.- requires a
--build-arg VERSION=with the kiwix-tools release. - can be built using
docker buildin which case it expects an additionnal--build-arg ARCH=armfor arm. Otherwise defaults toamd64.
Notes:
wgetinalpine:3onarm/v7(inside github action only) crashes when downloading from HTTPs locations. Keep http-only in Dockerfile.- Was also unhappy when using the mirrors so it's using
mirror.downloadon purpose.