A worthy self-hostable Git Server too if you'd like to give it a try:

  https://www.scm-manager.org/

And if you need less than that you can do a lot just with SSH and file system permissions for read only deploy keys. I wrote a script that uses a directory structure with sym-linked ssh keys as a config for a to add/edit/remove ssh access.

It appeals to me because I had gitlab for our 2 person team and it was just wrong sized for us. So many features went unused. Frequent upgrades meant an increasingly powerful server was required for doing basically nothing most of the time. CI/CD is not something we need.

I find that gitlab is generally overkill. Gitea [0] is quite simple to deploy and uses much less resources. If you do want CI/CD later, you can integrate a self-hosted Drone [1] instance.

[0]: https://github.com/go-gitea/gitea

[1]: https://github.com/drone/drone