Files
kiwix-tools/docker
renaud gaudin dedcae83cd Fixed docker image for non-amd64 platforms
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.
2021-12-21 10:27:28 +00:00
..
2021-01-07 22:13:49 +00:00

Kiwix-tools Docker image

  • Available on docker.io and ghcr.io.
  • multi-arch (linux/amd64, linux/arm64, linux/arm/v7)
  • based on official kiwix-tools binaries.

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-tools is multi-arch and is ideally built using buildx.
  • requires a --build-arg VERSION= with the kiwix-tools release.
  • can be built using docker build in which case it expects an additionnal --build-arg ARCH=arm for arm. Otherwise defaults to amd64.

Notes:

  • wget in alpine:3 on arm/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.download on purpose.