What: Port-collision validation only checks against other mcontrol-managed rows. A non-mcontrol service on the same host port is invisible to the check.
Why: Operators get a confusing failure at container start instead of a clear validation error on the form.
Approach: Before accepting a server's host port, check whether anything is currently bound to it on the host (e.g. probe with a quick TCP connect, or shell out to ss / docker port). Reject the form if so with a clear error.
What: Port-collision validation only checks against other mcontrol-managed rows. A non-mcontrol service on the same host port is invisible to the check.
Why: Operators get a confusing failure at container start instead of a clear validation error on the form.
Approach: Before accepting a server's host port, check whether anything is currently bound to it on the host (e.g. probe with a quick TCP connect, or shell out to
ss/docker port). Reject the form if so with a clear error.