135

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


Update

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

6
  • 1
    Why do you want to host it on your own server? Github's servers a very fast and reliable. Commented Dec 5, 2011 at 19:45
  • 90
    Possibly because he doesn't want to use a 3rd party service. There's something to be said for keeping your data with yourself. Commented Dec 5, 2011 at 19:47
  • 2
    mainly so I can run it from my dev server Commented Dec 5, 2011 at 19:51
  • 13
    Or possibly because Microsoft bought Github. Commented Jun 5, 2018 at 13:23
  • 3
    GitLab is the way to go IMHO. Commented Sep 15, 2020 at 5:29

18 Answers 18

94

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.

Sign up to request clarification or add additional context in comments.

4 Comments

Just realized it is Ruby, it's really nice though
You can run GitLab for free on your own server. GitHub Enterprise costs a lot of money.
Gitea and Gogs look just like GitHub. Your answer is from 2011 and appears to be out-of-date
Effective Feb 2, 2021, bitbucket is no longer an option. I've used Atlassian for about 10 years and it's so sad to see it quickly slip into the gutter. See kreuzwerker.de/en/post/bye-bye-server and atlassian.com/migration/faqs#general.
40

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.

Comments

37

You have a lot of options to run your own git server,

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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.

  7. 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.

  8. 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.

  9. 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.

  10. 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

5 Comments

Bitbucket no longer supports local servers. See kreuzwerker.de/en/post/bye-bye-server and atlassian.com/migration/faqs.
@shrewmouse Thanks for noticing it. Well, Thanks for strike it through.
Sadly phacility is no longer maintained :( admin.phacility.com/phame/post/view/11/…
@shrewmouse thanks for improving the answer. It's sad to know one more provider stopped no-cost self-hosted environments.
In September 2022 a community maintained fork of Phabricator called Phorge made its first release (as of 2024 Phorge is making releases at least twice a year). In December 2022 a a fork of Gitea called Forgejo made its first release (as of 2024 Forgejo is making releases every quarter).
15

Gitlab has made their service available to run on your own server for free. https://about.gitlab.com/downloads/

Comments

11

Open-Source alternatives:

2 Comments

RhodeCode currently is not mostly mercurial based, git vs mercurial functionality is now 1:1
Rhodecode is not really open source. GitLab is MIT.
6

you should check out this one: http://gitlist.org/.

It is written in PHP as you wanted it to be.

Comments

5

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/

1 Comment

Thanks, I just like the look and feel of Github, doesn't need to be github
4

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.

2 Comments

for the time being I am wanting mostly for my dev server so this may be good
please remove the link. or update it.
3

Yes, there's GitHub Enterprise :)

https://enterprise.github.com

Only problem is it's a bit pricey :(

1 Comment

the 2020 update - You now have unlimited collaborators in private repositories as part of your GitHub Free plan. Monthly pricing for our Pro plan has been reduced from $7/month to $4/month. Monthly pricing for our paid Team plan has been reduced from $9/user to $4/user.
3

I tried gitosis that is fully command line. And I chose this one.

Being a Java guy, I also looked with interest to Gitblit.

Comments

3

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.

4 Comments

You are a JIRA what?
@RubyRacer I guess that should be who're :)
// , Except that you can't un-merge PRs. Which you can, in GH. Thanks to Stash, I would periodically lose about 8 hours of my life on a contract with a major high-tech vehicle manufacturer.
Bitbucket no longer supports local servers. See kreuzwerker.de/en/post/bye-bye-server and atlassian.com/migration/faqs.
2

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.

2 Comments

Yeah I pretty much just like being able to browse source code easily
Git instaweb should be more than enough then. You get a lot more detail than the github default view but it's less "web 2.0".
2

You can try

Comments

2

The Community Edition lacks many import features like hooks. I recommend gerrit. It is light-weighted and open-source.

1 Comment

1

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

1 Comment

If you can, I strongly recommend this route. By hosting the service yourself, you are not dependant on 3rd parties.
1

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.

https://book.keybase.io/git

Comments

0

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.

Comments

0

As mentioned in one of the comments, Gitea looks very like GitHub but all local.

https://about.gitea.com/

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

Comments

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.