Reputation: 48933
Is there anything out there like Github that is for your own local server? I am curious if there is like a PHP script or even a desktop client that mimics Github's functionality, I love Github but it would be nice to host on my own server.
Apologies if this isn't considered "programming" enough but generally only programmers use GIT and Github
First of all thanks for all the great suggestions, it is great to see there are options out there. From what is posted here and from my googling I can say it looks like the best looking/most alike to Github solutions are coded in Ruby, which is great for some but I am a PHP kind of guy (for now).
Most of the PHP GIT viewers either are outdated and abandoned projects or they just look like crap ( I realize I could fix them up to be more like Github) but I ran across something in PHP that looks promising so far. It is called Glip it is on Github here https://github.com/patrikf/glip and to me it is the most attractive and easy to use solution I have found for PHP so far. For the advanced Git user, it may not be enough but for me, I just wanted to be able to view a git repo and that provides that functionality.
Now my search still continues for the perfect solution, will I ever find it? I hope so but, for now, this is we got. I am considering writing my own, one that is attractive like Github and has other features like an Issue tracker for bug and feature requests. All the ones I have seen so far are not so good
Upvotes: 133
Views: 247978
Reputation: 8979
You have a lot of options to run your own git server,
Bitbucket Server
Bitbucket Server is not free, but not costly. It costs you one time only(10$ as of now). Bitbucket is a nice option if you want a long-lasting solution.
Gitea (https://gitea.io/en-us/)
Gitea it's an open-source project. It's cross-platform and lightweight. You can use it without any cost. originally forked from Gogs(http://gogs.io). It is lightweight code hosting solution written in Golang and released under the MIT license. It works on Windows, macOS, Linux, ARM and more.
Gogs (http://gogs.io)
Gogs is a self-hosted and open source project having around 32k stars on github. You can set up the Gogs at no cost.
GitLab (https://gitlab.com/)
GitLab is a free, open-source and a web-based Git-repository manager software. It has a wiki, issue tracking, and other features. The code was originally written in Ruby, with some parts later rewritten in Golang. GitLab Community Edition (CE) is an open-source end-to-end software development platform with built-in version control, issue tracking, code review, CI/CD, and more. Self-host GitLab CE on your own servers, in a container, or on a cloud provider.
GNU Savannah (https://savannah.gnu.org/)
GNU Savannah is free and open-source software from the Free Software Foundation. It currently offers CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, mailing list, web hosting, file hosting, and bug tracking services. However, this software is not for new users. It takes a little time to setup and masters everything about it.
GitPrep (http://gitprep.yukikimoto.com/)
GitPrep is Github clone. you can install portable GitHub system into UNIX/Linux. You can create users and repositories without limitation. This is free software.
Kallithea (https://kallithea-scm.org/)
Kallithea, a member project of Software Freedom Conservancy, is a GPLv3'd, Free Software source code management system that supports two leading version control systems, Mercurial and Git, and has a web interface that is easy to use for users and admins. You can install Kallithea on your own server and host repositories for the version control system of your choice.
Tuleap (https://www.tuleap.org/)
Tuleap is a Software development & agile management All-in-one, 100% Open Source. You can install it on docker or CentOS server.
Phacility (https://www.phacility.com/)
Phabricator is open source and you can download and install it locally on your own hardware for free. The open source install is a complete install with the full featureset.
Gitness gitness is open-source yet similar to GitHub with a minimal footprint. This is also one of the modern solutions that supports pipeline and CI/CD
Upvotes: 36
Reputation: 2086
As mentioned in one of the comments, Gitea looks very like GitHub but all local.
Here is a quick stop page of capabilities. https://docs.gitea.com/category/administration
What's interesting to me is its Actions which can run tasks after commit. Very simple to setup. https://docs.gitea.com/usage/actions/quickstart
Upvotes: 0
Reputation: 41
I've been hosting my non-public git repos in Keybase for a few years now. If others need access to a repo I can make it team repo, and only members of that team will have access. I can also give people read-only access by making them "readers" in the team.
With that said, Keybase doesn't seem to be any provision for a truly "public" git repo, the closest they have is an "open team" that any Keybase user can join. There also isn't any mechanism for pull requests, commit comments, and other nice things that "real git hosting" systems (such as Gitea or Gitlab) offer. But if all you need is a secure place to store commits, Keybase has been working for me for the past few years.
Upvotes: 1
Reputation: 301077
There is GitHub Enterprise (administration documentation) to satisfy your needs. And there is an open source "clone" of Github Enterprise.
PS: Now Github provides unlimited private repositories, bitbucket does the same. you can give a try to both. There are several other solutions as well.
Upvotes: 94
Reputation: 1304
I'm quite surprised nobody mentioned the open-source project gogs (http://gogs.io) or a derived fork of it called gitea (http://gitea.io) which basically offers the same what gitlab does, but with minimal system resources (low footprint), being perfect to run in a Raspberry Pi for example. Installation and maintenance is also way simpler.
Upvotes: 40
Reputation: 13974
Open-Source alternatives:
Upvotes: 11
Reputation: 3
Also you can install Trac. It's more than a Git server, it has other feature like tickets management and project management. Also it has the possiblity to extend it through plugins.
Upvotes: 0
Reputation: 167
Gitlab has made their service available to run on your own server for free. https://about.gitlab.com/downloads/
Upvotes: 15
Reputation: 149
The Community Edition lacks many import features like hooks. I recommend gerrit. It is light-weighted and open-source.
Upvotes: 2
Reputation: 712
Atlassian's Stash (Now called BitBucket Server) is getting there to being a good Github Enterprise alternative. I'm a bit of a JIRA whore so I like the integrations you have with that.
Upvotes: 3
Reputation: 8847
I tried gitosis that is fully command line. And I chose this one.
Being a Java guy, I also looked with interest to Gitblit.
Upvotes: 3
Reputation: 26874
You can run Git (not the whole Github) via Apache HTTP Server, so that you host the Git repo on your server's filesystem and expose it via HTTP.
You get all Git functionalities, but obviously you won't be able to pull-request
or track issues. Any tool attached to your self-hosted Git repo can implement the rest of the features.
Reference: http://git-scm.com/docs/git-http-backend
Upvotes: 1
Reputation: 118
you should check out this one: http://gitlist.org/.
It is written in PHP as you wanted it to be.
Upvotes: 6
Reputation: 1490
If you must have GitHub, there is the enterprise version as already mentioned.
If you want to look for alternatives for running a central git server for your company, you can try Gitolite.
https://github.com/sitaramc/gitolite
https://github.com/sitaramc/gitolite/wiki/
Upvotes: 5
Reputation: 72745
What features in github are you looking for?
If you don't want the collaboration, pull requests etc. but just want your own repositories to be viewable, git instaweb
will create something for you.
Upvotes: 2
Reputation: 17010
I searched for git PHP implementations too, but with no results. The only way to re-create a site similar to GitHub is to setup a "real" git server on your own server and then use a PHP git web client like http://www.xiphux.com/programming/gitphp/.
Unfortunatly, you can forget to do this with a hosting solution. You need a real virtual server where you can install everything you want.
However, if you need a place where store some personal, non-public, non-accessible-to-everyone code for a project, you can try BitBucket. It offers private and private-shared git repos for free.
Upvotes: 4
Reputation: 20616
Yes, there's GitHub Enterprise :)
Only problem is it's a bit pricey :(
Upvotes: 3