Como posso ter o Github em meu próprio servidor?

97

Existe algo como o Github que é para seu próprio servidor local? Estou curioso para saber se existe um script PHP ou mesmo um cliente de desktop que imita a funcionalidade do Github, adoro o Github, mas seria bom hospedar em meu próprio servidor.

Desculpe se isso não é considerado "programação" o suficiente, mas geralmente apenas os programadores usam GIT e Github


Atualizar

Em primeiro lugar, obrigado por todas as ótimas sugestões, é ótimo ver que existem opções por aí. Pelo que foi postado aqui e pela minha pesquisa no Google, posso dizer que parece que as soluções mais bonitas / parecidas com o Github são codificadas em Ruby, o que é ótimo para alguns, mas eu sou um cara do tipo PHP (por enquanto).

A maioria dos visualizadores PHP GIT são projetos desatualizados e abandonados ou simplesmente parecem uma porcaria (percebi que poderia consertá-los para ficarem mais parecidos com o Github), mas encontrei algo em PHP que parece promissor até agora. Chama-se Glip e está no Github aqui https://github.com/patrikf/glip e para mim é a solução mais atraente e fácil de usar que encontrei para PHP até agora. Para o usuário Git avançado, pode não ser suficiente, mas para mim, eu só queria ser capaz de visualizar um repositório git e que fornecesse essa funcionalidade.

Agora minha busca pela solução perfeita ainda continua, será que algum dia a encontrarei? Espero que sim, mas, por enquanto, é isso que temos. Estou pensando em escrever o meu próprio, um que seja atraente como o Github e tenha outros recursos como um rastreador de problemas para solicitações de bug e recursos. Todos os que eu vi até agora não são tão bons

JasonDavis
fonte
1
Por que você deseja hospedá-lo em seu próprio servidor? Os servidores do Github são muito rápidos e confiáveis.
maček
53
Possivelmente porque ele não deseja usar um serviço de terceiros. Há algo a ser dito sobre como manter seus dados com você.
Noufal Ibrahim
1
principalmente para que eu possa executá-lo do meu servidor de desenvolvimento
JasonDavis
Você não pode ter github, mas pode usar scripts de hospedagem git como gitolite, gitosis ou gitorious.
CodesInChaos
7
Ou possivelmente porque a Microsoft comprou o Github.
keji

Respostas:

73

Existe GitHub Enterprise para atender às suas necessidades. E há um "clone" de código aberto do Github Enterprise.

PS: Agora o Github fornece repositórios privados ilimitados, o bitbucket faz o mesmo. você pode tentar ambos. Existem várias outras soluções também.

manojlds
fonte
1
Acabei de perceber que é Ruby, mas é muito bom
JasonDavis
11
Você pode executar o GitLab gratuitamente em seu próprio servidor. GitHub Enterprise custa muito dinheiro.
Trabalho de
Gitea e Gogs são parecidos com o GitHub. Sua resposta é de 2011 e parece estar desatualizada
SomethingSomething
30

Estou bastante surpreso que ninguém mencionou o projeto de código aberto gogs (http://gogs.io) ou um fork derivado dele chamado gitea (http://gitea.io) que basicamente oferece o mesmo que o gitlab faz, mas com recursos mínimos do sistema (pegada baixa), sendo perfeito para rodar em um Raspberry Pi por exemplo. A instalação e manutenção também são mais simples.

marca
fonte
10

Existem algumas alternativas de código aberto:

RyanWilcox
fonte
1
RhodeCode atualmente não é baseado principalmente em mercurial, a funcionalidade git vs mercurial agora é 1: 1
marcinkuzminski
2
Rhodecode não é realmente um código aberto. GitLab é MIT.
Trabalho de
7

Você tem muitas opções para executar seu próprio servidor git,

  1. Bitbucket Server

    O Bitbucket Server não é gratuito, mas não é caro. Custa apenas uma vez ($ 10 a partir de agora). O Bitbucket é uma boa opção se você deseja uma solução duradoura.

  2. Gitea ( https://gitea.io/en-us/ )

    Gitea é um projeto de código aberto. É multiplataforma e leve. Você pode usá-lo sem nenhum custo. originalmente bifurcado de Gogs ( http://gogs.io ). É uma solução de hospedagem de código leve escrita em Golang e lançada sob a licença do MIT. Funciona em Windows, macOS, Linux, ARM e muito mais.

  3. Gogs ( http://gogs.io )

    Gogs é um projeto auto-hospedado e de código aberto com cerca de 32 mil estrelas no github. Você pode configurar o Gogs sem nenhum custo.

  4. GitLab ( https://gitlab.com/ )

    GitLab é um software gerenciador de repositório Git gratuito, de código aberto e baseado na web. Ele tem um wiki, rastreamento de problemas e outros recursos. O código foi originalmente escrito em Ruby, com algumas partes reescritas posteriormente em Golang. GitLab Community Edition (CE) é uma plataforma de desenvolvimento de software ponta a ponta de código aberto com controle de versão integrado, rastreamento de problemas, revisão de código, CI / CD e muito mais. Hospede o GitLab CE em seus próprios servidores, em um contêiner ou em um provedor de nuvem.

  5. GNU Savannah ( https://savannah.gnu.org/ )

    GNU Savannah é um software livre e de código aberto da Free Software Foundation. Atualmente oferece CVS, GNU arch, Subversion, Git, Mercurial, Bazaar, lista de discussão, hospedagem na web, hospedagem de arquivos e serviços de rastreamento de bugs. No entanto, este software não é para novos usuários. Leva um pouco de tempo para configurar e dominar tudo sobre ele.

  6. GitPrep ( http://gitprep.yukikimoto.com/ )

    GitPrep é um clone do Github. você pode instalar o sistema portátil GitHub no UNIX / Linux. Você pode criar usuários e repositórios sem limitação. Este é um software livre.

  7. Kallithes ( https://kallithea-scm.org/ )

    Kallithea, um projeto membro da Software Freedom Conservancy, é um sistema de gerenciamento de código-fonte de Software Livre GPLv3'd que suporta dois sistemas de controle de versão líderes, Mercurial e Git, e tem uma interface web fácil de usar para usuários e administradores. Você pode instalar o Kallithea em seu próprio servidor e repositórios de host para o sistema de controle de versão de sua escolha.

  8. Tuleap ( https://www.tuleap.org/ )

    Tuleap é um All-in-one de desenvolvimento e gerenciamento ágil de software, 100% Open Source. Você pode instalá-lo no docker ou no servidor CentOS.

  9. Phacility ( https://www.phacility.com/ )

    O Phabricator é open source e você pode baixá-lo e instalá-lo localmente em seu próprio hardware gratuitamente. A instalação de código aberto é uma instalação completa com o conjunto completo de recursos.

Kiran Maniya
fonte
6

você deve verificar este: http://gitlist.org/ .

Ele é escrito em PHP como você gostaria que fosse.

Daniel M. Melo
fonte
4

Também procurei por implementações de PHP do git, mas sem resultados. A única maneira de recriar um site semelhante ao GitHub é configurar um servidor git "real" em seu próprio servidor e então usar um cliente web PHP git como http://www.xiphux.com/programming/gitphp/ .

Infelizmente, você pode esquecer de fazer isso com uma solução de hospedagem. Você precisa de um servidor virtual real onde pode instalar tudo o que quiser.

No entanto, se você precisa de um lugar onde armazenar algum código pessoal, não público e não acessível a todos para um projeto, você pode tentar o BitBucket. Ele oferece repositórios git privados e compartilhados gratuitamente.

Lorenzo-s
fonte
Por enquanto, estou querendo principalmente pelo meu servidor de desenvolvimento, então isso pode ser bom
JasonDavis
4

O Stash da Atlassian (agora chamado de BitBucket Server) está chegando para ser uma boa alternativa Github Enterprise. Sou um pouco uma prostituta de JIRA, então gosto das integrações que você tem com isso.

grumpassauro
fonte
9
Você é um JIRA o quê?
Ruby Racer
@RubyRacer Acho que deve ser quem é :)
Alex Ivasyuv
//, Exceto que você não pode desfazer a mesclagem de PRs. O que você pode, em GH. Graças a Stash, eu periodicamente perdia cerca de 8 horas da minha vida em um contrato com um grande fabricante de veículos de alta tecnologia.
Nathan Basanese
3

Sim, existe o GitHub Enterprise :)

https://enterprise.github.com

O único problema é que é um pouco caro :(

Stuart Golodetz
fonte
1
atualização de 2020 - agora você tem colaboradores ilimitados em repositórios privados como parte de seu plano GitHub grátis. O preço mensal do nosso plano Pro foi reduzido de $ 7 / mês para $ 4 / mês. O preço mensal do nosso plano Team pago foi reduzido de $ 9 / usuário para $ 4 / usuário.
Warfish,
3

Eu tentei gitosis que é totalmente linha de comando. E eu escolhi este.

Sendo um cara do Java, também olhei com interesse para o Gitblit .

Luigi R. Viggiano
fonte
2

Quais recursos do github você está procurando?

Se você não quer a colaboração, solicitações de pull, etc., mas apenas deseja que seus próprios repositórios sejam visíveis, git instawebo criará algo para você.

Noufal Ibrahim
fonte
Sim, eu gosto de navegar facilmente pelo código-fonte
JasonDavis
Git instaweb deve ser mais do que suficiente. Você obtém muito mais detalhes do que a visualização padrão do github, mas é menos "web 2.0".
Noufal Ibrahim
1

Você pode executar o Git (não o Github inteiro) por meio do servidor Apache HTTP, de modo que hospede o repositório Git no sistema de arquivos do seu servidor e o exponha via HTTP. Você obtém todas as funcionalidades do Git, mas obviamente não será capaz de pull-requestrastrear problemas. Qualquer ferramenta anexada ao seu repositório Git auto-hospedado pode implementar o restante dos recursos.

Referência: http://git-scm.com/docs/git-http-backend

usr-local-ΕΨΗΕΛΩΝ
fonte
Se você puder, eu recomendo fortemente esta rota. Ao hospedar o serviço por conta própria, você não depende de terceiros.
Phil
0

Além disso, você pode instalar o Trac . É mais do que um servidor Git, ele possui outros recursos como gerenciamento de tickets e gerenciamento de projetos. Também tem a possibilidade de estendê-lo através de plugins.

Werner Faruk
fonte