Привет!
1) Верно, домен с https. И далее уже в nginx'e будет,
/ -> фронт,
/api -> бэк. К примеру вот так.
2) Правильной настройкой nginx и обратным прокси на контейнер с бэком.
3) Можно воспользоваться бесплатным CI, к примеру Gitlab CI/CD или Github Actions. Пушить образ в приватный registry. Дальше скрипт идет на сервер и меняет докер образ. Сервер с Docker соответственно должен иметь доступ к этому приватному registry. Можешь посмотреть на такой пример
https://stackoverflow.com/questions/26423515/how-t.... Или можешь покопать в сторону решений, как Flux или ArgoCD. Но k8s наверное уже будет overhead.