Gitolite is a program that manages hosting Git repositories on your own server. It's lightweight, especially compared to do-everything applications like Gitlab.
It is still not a trivial undertaking to host git repositories for multiple users, though, and (IMHO) gitolite doesn't help with the complexity by defaulting to doing some of the admin by having to clone, update, and push an "admin" git repo for some of the routine admin, and having to run arcane commands after making some changes outside of that.
This article (archive) looks like it does a pretty good job of stepping through the important setup and daily operations, without getting into the weeds.
Some things you might also want to do:
- Add existing repos to gitolite (I guess assuming you don't want to just have the user push.)
- Move an existing gitolite install to another server
- If you really want to: administer gitolite directly instead of using a gitolite-admin git repository.