kiwix-serve - Kiwix HTTP Server
kiwix-serve --library [OPTIONS] LIBRARY_FILE_PATH
kiwix-serve [OPTIONS] ZIM_FILE_PATH ...
The kiwix-serve command is used to run a stand-alone HTTP
server for serving ZIM contents over the network.
- LIBRARY_FILE_PATH
- Path of an XML library file listing ZIM files to serve. To be used only
with the --library option. Multiple library files can be provided as a
semicolon (;) separated list.
- ZIM_FILE_PATH
...
- ZIM file path(s). Multiple arguments are allowed.
- --library
- By default, kiwix-serve expects a list of ZIM files as command line
arguments. Providing the --library option tells kiwix-serve that the
command line argument is rather a library XML file.
- -i ADDR,
--address=ADDR
- Listen only on this IP address. By default, the server listens on all
available IP addresses.
- -p PORT, --port=PORT
- TCP port on which to listen for HTTP requests (default: 80).
- -r ROOT,
--urlRootLocation=ROOT
- URL prefix on which the content should be made available (default: empty).
- -d, --daemon
- Detach the HTTP server daemon from the main process.
- -a PID,
--attachToProcess=PID
- Exit when the process with id PID stops running.
- -M,
--monitorLibrary
- Monitor the XML library file and reload it automatically when it changes.
Library reloading can be forced anytime by sending a SIGHUP
signal to the “kiwix-serve” process (this works regardless
of the presence of the
“--monitorLibrary”/“-M” option).
- -m,
--nolibrarybutton
- Disable the library home button in the ZIM viewer toolbar.
- -n, --nosearchbar
- Disable the search box in the ZIM viewer toolbar.
- -b,
--blockexternal
- Prevent users from directly navigating to external resources via links in
ZIM content.
- -t N, --threads=N
- Number of threads to run in parallel (default: 4).
- -s N,
--searchLimit=N
- Maximum number of ZIM files in a fulltext multizim search (default: No
limit).
- -z,
--nodatealiases
- Create URL aliases for each content by removing the date embedded in the
file name.
The expected format of the date in the filename is
“_YYYY-MM”. For example, a ZIM file named
“wikipedia_en_all_2020-08.zim” will be accessible both as
“wikipedia_en_all_2020-08” and
“wikipedia_en_all”.
- -c PATH,
--customIndex=PATH
- Override the welcome page with a custom HTML file.
- -L N,
--ipConnectionLimit=N
- Max number of (concurrent) connections per IP (default: infinite,
recommended: >= 6).
- -k, --skipInvalid
- Startup even when ZIM files are invalid (those will be skipped)
- -v, --verbose
- Print debug log to STDOUT.
- -V, --version
- Print the software version.
- -h, --help
- Print a help message.
Serve a single ZIM file:
kiwix-serve myzim.zim
Serve multiple ZIM files:
kiwix-serve zim1.zim zim2.zim zim3.zim
Serve ZIM files from a library:
kiwix-serve --library library.xml
Online documentation:
https://kiwix-tools.readthedocs.io/en/latest/kiwix-serve.html
Source code: https://github.com/kiwix/kiwix-tools
More info: https://wiki.kiwix.org/wiki/Kiwix-serve
Emmanuel Engelhart <kelson@kiwix.org>
Vasudev Kamath <kamathvasudev@gmail.com>