In my homelab over the years I've run GitLab, the old $10 on-prem license of BitBucket Server, and Gitea.
The old $10 licenses for the Atlassian services like BitBucket and JIRA were king. They're exactly what you can expect to find at pretty much every tech company out there. It's a shame that Atlassian took those licenses away because they provided a way for people to get commercially relevant training and experience on a stack that they're likely going to end up using at their day job.
I started using GitLab when it was available as a package on Synology DSM6. Since those days it has become an *extremely* impressive turnkey development & automation stack. I'd say that GitHub holds the crown right now for the best employment-relevant stack but GitLab is actually keeping pace feature-wise. GitLab is my recommendation for anybody who is very committed self-hosting. Unfortunately I'd say that it's becoming quite bloated and it's not easy system to upgrade. Resource usage is a concern for me because I run my critical dev-stack services as VMs or containers on my Synology NAS. I think generally you need to take a hard look and see if you need such a heavyweight solution at your point in your DevOps journey.
What I'm using right now it Gitea. Gitea excels as an extremely lightweight, fast and simple to operate git server. It does have similar turnkey features as its competition such as issue management, an artifact repository and CI/CD but I'd say they're generations behind. I find the extra features to be workable but they're all disappointing in some way. For example, you can set up a kanban board but the system won't transition issues if you move them along the kanban board. Gitea is perfect for anyone who just needs a git server though. This includes anyone who is integrating other tools (eg Jenkin) instead of going the turnkey route.