I used to have a Gitea instance, that was before Forgejo was a thing. Having it was a hassle to be honest, all this backing up and whatnot.
And then somebody found that server and asked me if it's ok for them to use it. I thought a bit, said no and deleted that instance some time after.
These days I use Codeberg for projects I would expect contributions to, and Sourcehut for more private stuff (most of repos unlisted).
For self-hosting, Forgejo seems to be the most straight-forward choice. Community support, familiar UX, and built-in mirroring. I use mirroring on Codeberg, and it works really well.
Crawlers and scrapers are not that much of a problem if your website is not popular, and it's probably not. That's the case for my server (I don't host a forge anymore, but I do have public services that work with git history, so I can use my setup as a comparison). I have 2 GB of memory, but didn't have problems with 1 GB too. Fail2ban will get you a long way.
We Merveilles also have an instance: https://git.merveilles.town/explore/repos