Alors tout d'abord quand on prend un serveur on est censé savoir le gérer... Mais bon, faut bien apprendre...
Pour en revenir à la question initiale.
Prenez ce sur quoi vous vous sentez à l'aise ! Par conséquent dans un premier temps pour vous je prendrai ubuntu si c'est ce que vous connaissez, à la limite Debian (perso je préfère Debian, mais la meilleure distrib est celle que l'on maitrise, chacun ses goûts).
CentOS a changé, désormais on passe à centos stream (ou un truc dans le genre).
la version 8 ne sera maintenue que jusqu'à la fin de l'année.
Terminé le temps où Centos maintient une version pendant 10 ans.
Par conséquent je vous invite à vous renseigner sur ce point avant de songer à passer à CentOS.
Pour les images préinstallées je déconseille tjrs. Prenez une distrib nue, faites l'install vous même pour comprendre ce que vous faites, ce qui vous permettra de le réparer en cas de problème !
Ensuite Apache / NGinx, là encore, ce qui est important c'est votre capacité à le gérer. Sur une activité "normale" Apache est tout aussi bien que NGinx est + souple à configurer grâce aux fichiers .htaccess.
En fait ça va dépendre de la doc de votre appli... Si votre appli est la seule sur le serveur, et qu'elle recommande l'usage de l'un ou de l'autre suivez les précos de l'appli... Et surtout voyez ce qui est le mieux documenté par rapport à vos besoins...
Concernant docker perso je n'aime pas, mais je suis un vieux monsieur réfractaire au changement. Docker c'est bien quand on est un dev et qu'on va déployer un cluster kubernetes par exemple pour pouvoir scaller + facilement... D'autres comme moi pensent que bcp de dev feraient mieux d'apprendre à coder et à optimiser leurs appli plutôt que de se reposer sur des systèmes qui scale automatiquement (comme la facture d'infra avec)... Mais c'est un autre débat :)
Là aussi, est ce que ceux qui vous ont fait le conseil seront là pour vous aider ? Ou allez vous vous retrouver seul devant la console avec la doc en cas de problème ?
Dans ce cas pareil que pour apache/nginx, quelles sont les précos de l'appli ? Qu'est ce qui est le mieux documenté ? Dans quelle option vous sentirez vous le + à l'aise ?
Après je n'ai jamais installé de gitlab, ce sont des conseils d'ordre généraux :)