I am self hosting forgejo on my synology NAS. It is easier than it looks. Synology provides me access from the internet so I do not need static IP address. It took me at most 20 minutes to write (copy paste) docker compose file to make it run and another hour to import repositories from github and gitlab. Only maintenance I do is update to new version once a while which takes about 5 minutes. You can set it up to sync repositories back to code forges.
If you do not have a lot of users you can easily set it up too.
Codeberg and Gitlab exist though. The problem is the inertia. Tons of repositories in GitHub from way before MS acquired them, which makes most people use GitHub, which makes most software projects choose GitHub.
Heck, GH Stars are used as a vanity metric for a lot of projects.
Codeberg only serves a small subset of what Github does.
Pitching them as a no-brain replacement and advising people to move all their personal repos over is abusive towards Codeberg.
For community-facing FLOSS it is good. For other uses you need to look elsewhere. Forgejo, which is what Codeberg ises, is easy to self-host and other providers exist.
If you do not have a lot of users you can easily set it up too.