Sources now sync into /srv/podman/maptool/build/ (wiped and fully replaced every deploy, nothing in it needs preserving) instead of directly into /srv/podman/maptool/ itself, where data/ and .env also live — the old sync step had to specifically skip data/ by name to avoid wiping it; this way there's nothing to skip. docker-compose.yaml is symlinked (ln -sf, relative target) from /srv/podman/maptool/ up to build/ — both for a human to still find it at the top, and because that symlink's own location, not build/, is what compose resolves ./data and .env's directory against. No changes to docker-compose.yaml or the podman-compose@.service systemd unit's WorkingDirectory needed. Verified against a full local dry run of the new sync step (copy into a fake build/, symlink up, confirm pre-existing data/ survives) and `docker-compose config` against the real docker-compose.yaml through that symlink — both volume mounts (./data, the kiwix ZIM path) resolved to the sibling data/ directory as intended, not build/data.