This is exactly what we have, with the roles specifically written so they can be open and shared while the project repos are private, FWIW I have written roles for almost these applications, some more complex and up to date than others, some not very polished but all GPL’d:
- webarch / apache · GitLab
- webarch / mariadb · GitLab
- webarch / mongodb · GitLab
- webarch / nginx · GitLab
- webarch / nodejs · GitLab
- webarch / php · GitLab
And here is a (rather messy!) example repo that uses them to build a dev server: