Вопрос: как разделить единый монорепозитарий на 2-3 разных (отдельный гит-репозитарий для бэка, отдельный для фронта, отдельный для файлов конфигурации nginx)?
И как работать с этими раздельными репозитариями вместе, например с помощью docker compose?
Вам нужен еще docker regestry, для хранения docker image.
При пуше собираете docker image с тэгом и пушите его в regestry.
Следующим шагом, обновляете тэг в композе(если он в отдельном проекте, то обновляете тэк и пушите изменения, что поиводит к запуску ci в репе с композом)