"full git server" btw just means having SSH and git installed, this was part of the genius of Linus' design, you just ssh in, and the git user you log in as has your SSH key added to authorized_keys and it runs commands to the git shell that is the user's default shell
so that part is the easy part
the hard part is when you want to give access to the public, because SSH is not designed to allow ad-hoc one-off unprivileged logins, plus in my case, i use Go which depends on git HTTP