А в чем собственно проблема?
Gitlab CI/CD загружает новую версию репозитория - в ./local-back или ./local-front, и дергает перезапуск docker-compose
docker-compose.yml который лежит в папке выше имеет примерно такой вид:
nginx:
...
volumes:
- ./local-back:/container/back
- ./local-front:/container/front
...
back:
...
volumes:
-./local-back:/container/back
command: тут скрипт который конфигурит бэк и запускает его
front:
...
volumes:
-./local-front:/container/front
command: тут скрипт который конфигурит фронт, собирает статику, или что он там делает..
nginx видит бэк как back - соотвественно адресует запросы ему, видит и папку с бэком чтобы брать файлы оттуда при необходимости (загружаемое медиа и пр.)
nginx также видит папку с фронтом откуда берет статику и прочее