If you don't want to self-host Gitea/Forgejo, I recommend SourceHut for private repos and Codeberg for public ones. Happy to answer any questions you might have for either based on my experience!
For private repos I just have a folder on my NAS that I run `mkdir <repo name> && git -C <repo name> init --bare` in. Works great.