03-kiwix.md
kstack: book: Centerpoint Home Lab chapter: Utilities page: Kiwix tags: [kiwix, offline, wikipedia, zim, authentik]
Overview
emptyKiwix serves offline ZIM-format content — primarily Wikipedia snapshots and
other reference material — accessible without an internet connection. ZIM files
are stored on the Ceph OSD volume. The external route is gated behind Authentik
ForwardAuth. The internal route has no additional auth middleware.
Access
https://kiwix.jeeves5454.ddns.net
Authentik ForwardAuth + GeoBlock + CrowdSec
Internal
https://kiwix.home.local
No additional auth (Step-CA TLS)
Configuration
Image: ghcr.io/kiwix/kiwix-serve:latest
Traefik Labels
traefik.http.routers.kiwix-external.rule: Host(`kiwix.jeeves5454.ddns.net`)
traefik.http.routers.kiwix-external.entrypoints: websecure
traefik.http.routers.kiwix-external.tls.certresolver: letsencrypt
traefik.http.routers.kiwix-external.middlewares: plex-geoblock@file,crowdsec-bouncer@file,authentik-auth@docker
traefik.http.routers.kiwix-external.service: kiwix-svc
traefik.http.routers.kiwix-internal.rule: Host(`kiwix.home.local`)
traefik.http.routers.kiwix-internal.entrypoints: websecure
traefik.http.routers.kiwix-internal.tls.certresolver: step-ca
traefik.http.routers.kiwix-internal.service: kiwix-svc
traefik.http.services.kiwix-svc.loadbalancer.server.port: 8080
Volumes / Bind Mounts
/media/jeeves/1TB_Vol1/Kiwix_Images
/data
ZIM content files
ZIM files are stored on the second Ceph OSD volume (nvme2n1,
/media/jeeves/1TB_Vol1). kiwix-serve auto-discovers all .zim files in
/data on startup and presents them in the library UI.
Notes / Gotchas
/media/jeeves/1TB_Vol1/Kiwix_Images. A container restart is required for
kiwix-serve to discover them.
Kiwix has no built-in authentication — the internal route is unprotected on
the LAN. The external route relies entirely on Authentik ForwardAuth.
ZIM files can be downloaded from library.kiwix.org and transferred to the
Ceph volume via FileBrowser or SCP.
Last Updated: 2026-06-17