Your own GitHub for a small team. Repositories, pull requests, issues and CI on a Raspberry Pi in the data centre, reachable from anywhere.
Why Forgejo
Forgejo is a community fork of Gitea, run by a non-profit. It's written in Go, starts in seconds and is happy with 1 GB of RAM. The web interface will feel familiar to anyone who knows GitHub.
docker run -d --name forgejo --restart unless-stopped \
-p 3000:3000 -p 2222:22 \
-v /srv/forgejo:/data \
codeberg.org/forgejo/forgejo:17The web interface runs on port 3000, and Git over SSH on port 2222 so it doesn't clash with your own SSH. Put Nginx with a Let's Encrypt certificate in front of the web interface.
CI on ARM
Forgejo Actions use the same workflow syntax as GitHub Actions. A runner on the Raspberry Pi builds and tests your code straight on arm64, which is handy if you ship software for ARM boards.