Gitlab, Forgejo, Gitea, Gogs, ... or you can just push to your own VPS over SSH, with or without an HTTP server. We had a good discussion of this last option here three weeks ago: https://news.ycombinator.com/item?id=45710721
GitLab is probably the next-largest competitor. Unlike GitHub it's actually open source, so you can use their managed offering or self-host.