I can start the Kiwix container successfully with Docker Compose, and both the container and its network appear in the management interface. However, no port seems to be published and I cannot open the web interface. I am running Debian 13 with Docker Compose. The relevant configuration maps host port 9090 to container port 8080, mounts ./data at /data, and starts Kiwix with *.zim. I placed two ZIM files in the data directory, but the service is still unreachable. What should I check?
3 Answers
The port mapping itself means you should browse to port 9090 on the Docker host, while Kiwix listens on port 8080 inside the container: http://:9090. If the container is running but the port is not shown as published, inspect the rendered Compose configuration and the container details to confirm that the ports section was parsed correctly. A formatting issue in the YAML could prevent the mapping from being applied.
Start by checking the container logs and confirming that it is actually staying up. Kiwix needs to find at least one valid .zim file, and the command has to point to the files inside the container. Since ./data is mounted as /data, using a path such as /data/*.zim may be more reliable than just *.zim. Also verify that the host directory contains the files and that the container is not repeatedly exiting.
There was some confusion about the application port, but mapping 9090:8080 is fine as long as Kiwix is listening on 8080. The important checks are whether the process starts successfully, whether the ZIM glob resolves to files inside the container, and whether the logs report an argument or file-not-found error. If Kiwix is actually configured to listen on another internal port, adjust the right-hand side of the mapping to match it.

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures