"docker compose down" before "pull/up" (previous commit) didn't fix the port conflict -- it only tears down containers this compose project itself tracks, so a stale/orphaned container from an earlier deploy (or anything else bound to 8420, especially with restart: unless-stopped fighting back) slips through untouched and the new "up" fails with "port is already allocated". This is root-cause-agnostic instead: find and stop/remove *any* container publishing 8420, compose-managed or not, right before pull/up. --remove-orphans on the down step too, for services that used to be in the compose file and aren't anymore.