Update

Forgejo seemed to be the winning answer so I tried setting it up. Total setup time was less than 10 minutes. I pushed 10 repositories to test it out and so far it seems pretty good. Thank you everyone for the answers!


As the title states, I am looking to host maybe ~100 git repositories locally on my home network.

I’m not planning on doing anything too crazy with my repositories. The solution doesn’t need to support like 1000s of contributors however it should support the most basic features such as being able to see individual commits, branches, diffs, maybe some PR related mechanism, a web GUI, etc.

I don’t like to tinker too much. The solution should work and be stable. Stability is a hard requirement. I want to write code and not have to worry about losing it. Yes I will make backups.

Please let me know what some of the best options are at the moment. Thank you!

  • chtk@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    1
    ·
    1 day ago

    If you’re looking for a bare bones solution, and you already have a machine that you can SSH into, you could just use that. There are desktop GUI/TUI apps galore that you can use to inspect commits, branches and such.

    At work I’m in the process of planning a move from Subversion to Git. So I’ve been looking at Forgejo, a hard fork of Gitea maintained by Codeberg. It has all the important features of other forges like GitLab and Gitea. But is completely open source.

  • slowtrain33@lemmy.ml
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    I’ve set up a few gitlab servers at companies and it’s always been well received. Doing it from scratch may be more complex than you want, but I think there are docker images for a more turnkey type solution. And the option of building CI/CD pipelines in the future is always nice to have.

  • litchralee@sh.itjust.works
    link
    fedilink
    English
    arrow-up
    3
    ·
    1 day ago

    I second the option of Git + SSH. That will scale to one hundred repos. And if you don’t want the repos to be checked out, use “git clone -n” to not do that. It’ll just be dozens of repos which only have the minimal .git/ directory. All other repos that specify this one as the upstream will have no issues pulling or pushing code.

    You won’t have PR features nor a web UI though.

  • corsicanguppy@lemmy.ca
    link
    fedilink
    English
    arrow-up
    2
    ·
    1 day ago

    It’s monstrous, but gitlab installs from one big RPM on a base box; and with one config file you’re up.