I have a QNAP box at home, with Forgejo running as a container on it. It's pretty much a standard docker install straight from Forgejo's repository. It can run tests and a build on each push, which is not strictly necessary, but nice. Took me about half an hour to setup Forgejo, and about 4 hours of swearing setting up CI for a few repos, because I've never done it before.
This doesn't easily scale to a whole organisation's worth of repos like OP wants, but it easily fits a small business/single dev situation.