support port override via --port on cli
use ephemeral ports for testing