Как организовать правильное взаимодействие контейнеров nginx, и node fronted (nginx virtual host), node backend (nginx reverse proxy)?
Я делаю проект, состоящий из Nginx, frontend, который при помощи вебпак собирает мне html и js файлы в отдельную папку, которую я хочу добавлять в location nginx, и бэкенд, который будет вероятно на ноде, и подключается через reverse proxy.
Вопрос состоит в том, как грамотно организовать контейнеризацию и хранение в репозиториях. Мне нужно это разворачивать на удалённом сервере, что я планирую делать через github-actions (очень хотелось бы, потому что я пока новичок, и такие вещи, как jenkins, я пока не освоил).
Так вот, стоит ли, к примеру, фронт и бэк побить на разные репозитории, настроить каждому отдельный воркфлоу? Стоит ли билдить фронтенд в контейнере, что очень хотелось бы, чтобы нода с зависимостями была изолирована от сервера? Как при этом перезапускать (и нужно ли) nginx в контейнере? Стоит ли вообще nginx в контейнер пихать, что тоже очень хотелось бы (при том, что я буду собирать его через make)?
Может, вообще было бы разумнее всё в одном репозитории хранить, но сделать несколько dockerfile, docker-compose?
Вопросы возникают в основном из-за отсутствия опыта и каши в голове. В самих принципах я более менее разобрался, настроив один github-actions, который разворачивает на моём сервере контейнер.
Хотелось бы получить развёрнутый ответ, чтобы привести все мысли в порядок =)