Fix production outage: build context and kiwix arg duplication
CI / check (push) Successful in 40s
CI / deploy (push) Successful in 11s

docker-compose's build context resolves relative to the symlink's own
directory (/srv/podman/maptool/), same as volume paths — but the
checkout now lives one level down in build/, so "build: ." pointed at
the wrong place and compose up --build failed outright looking for a
Dockerfile that isn't there. Point it at ./build instead.

Also drop kiwix's explicit --port=8080: the image's own start.sh
already prepends its default --port=8080 before appending the command
array, so passing it again produced "Unexpected argument" and the
container never started.

Both applied directly to production to restore service, verified via
docker-compose config + live health checks.
This commit is contained in:
randy committed 2026-09-09 14:29:40 +02:00
1 parent 76e3239d54
commit 4f022ec43a
1 file changed
+16 -2
+16 -2
View File
@@ -1,6 +1,16 @@
services: services:
maptool: maptool:
build: . # "./build", not ".": the compose file's own context ("." would mean
# the symlink's directory, /srv/podman/maptool/ — see docs/deployment.adoc)
# is one level above where the actual checkout (and its Dockerfile)
# lives since the previous commit moved it into build/. Volume paths
# below resolve against that same symlink directory too, but a relative
# *build context* specifically needs pointing at build/ itself — the
# gap this fixes: production's compose up --build failed outright
# ("lstat .../maptool/Dockerfile: no such file or directory") until this
# was caught, since only the volume-path resolution got dry-run tested
# before the previous commit shipped, not this one.
build: ./build
image: maptool:latest image: maptool:latest
restart: unless-stopped restart: unless-stopped
ports: ports:
@@ -72,6 +82,10 @@ services:
kiwix: kiwix:
image: ghcr.io/kiwix/kiwix-serve:latest image: ghcr.io/kiwix/kiwix-serve:latest
restart: unless-stopped restart: unless-stopped
command: ["--port=8080", "/data/wikipedia.zim"] # No --port here: the image's own start.sh already prepends
# --port=8080 (its default) before appending this command array, so
# passing it again produced "Unexpected argument: --port=8080,
# --port=8080, /data/wikipedia.zim" and kiwix-serve refused to start.
command: ["/data/wikipedia.zim"]
volumes: volumes:
- ./data/kiwix/wikipedia.zim:/data/wikipedia.zim - ./data/kiwix/wikipedia.zim:/data/wikipedia.zim