Насколько мне известно, продукт/сервис никогда не делается как "сферический в вакууме", он всегда рассчитан на известный рантайм (за исключением разве что каких-нибудь прошивок, но и там нужно делать BSP).
Если той же ноды, собранной под мак, не существует - этому поможет только виртуализация, а никак не доскер.
Ну и это.... стоит ли фронтенд сервить нодой? Для этого Nginx есть жи. А для бэкендов есть более подходящие языки - та же Джава, не к ночи будь помянута.
Не знаю, не понял пока проблемы. Если мы говорим не про низкоуровневое ПО, а некий апи/бек/фронт - какие там в наше время зависимости от мака/Linux ? По-моему, очень минимальны, а в докер с alpine так вообще, только под громадным HL, и то не факт.
Динамический фронтенд. Персонализированный. Уникальный под каждого клиента фронт. Почти как PHP, только современно. А про java - это очень на любителя.