consider required & default, add openPort, change node start logic