I set up a self hosted Gitlab where on-prem was a requirement and it's surprisingly easy. Obviously another service that needs to be maintained and updated but as code repositories and connected services are a crucial part of infrastructure it makes sense to have control over that.
Not the biggest fan of Gitlabs UI but I got used to it quickly.
Not the biggest fan of Gitlabs UI but I got used to it quickly.