There are a number of questions about GitHub replacements here.
I am looking for one, too. However, I am not willing to install all the myriad of cruft that many of these tools like Gitlab require … no ruby+postgresql+nginx+redis+unicorn+sidekiq+node.js …
I know that is currently highly popular to string together any technology you can find. Best also mix 10 different programming languages, too. WTF? The insanity is best seen by the manual gitlab installation description and the Arch Linux gitlab installation. Why use both a SQL and a NoSQL database?!? And an own web server unicorn, plus nginx? Next they will add Elasticsearch, I'm pretty sure. In case you have several TB of repositories to index. Stop pretending this is "big data" …
But for having a software run a key business part for the next x years, I'd like to have something less fancy and more reliable …
Any recommendations for a low-dependencies self-hosted GitHub alternative? Open-source only, and Linux is a must (so e.g. Gitstack is out).
My wishlist:
Low dependencies. In particular, no Ruby, PHP, Node.js or Elasticsearch. No pretending this is big data; Git repositories that are over 1 GB are broken by design.
Good web-frontend for Git, with forking and pull requests. No code editing in browser needed.
Issue tracking is a plus, but not a must (but usually, pull requests implies some kind of issue management).
Access control. At least on a repository level, preferably on a branch level. Private and public repositories must be supported.
Works with standard tools instead of all the fancy tool-of-the-day that disappear into oblivion in a year.
Open-source. To ensure long-term viability, and I don't have a budget I could spend. Plus, using closed-source for open-source-development is kind of bastardization, isn't it? Real open-source -- not one where the backing company decides to make it a commercial tool next year.
In the end, I would like it to be like Git. Powerful, yet simple, minimalistic and reliable. Running everywhere, instead of pulling in a bag of dependencies that can and will eventually break. If you know Git, then you know that a lot of the functionality are just frontends for "rebase".
git
(yikes!), it's rightly called Github-in-a-box. Suitable for small teams; has a low learning curve, integrated wiki and bug tracker, and you'd never find anything easier to set up. (Provides--git export
still, for syncing.)