Criando um repositório Git remoto na Digital Ocean

Venho usando a Digital Ocean há um tempo para projetos pequenos de clientes. A vantagem é que o servidor está disponível em questão de segundos e que já tem um IP para acesso externo, além de ter imagens dos sistemas operacionais com pacotes instalados (como o WordPress).

Para gerenciar os projetos e ter versionamento de código, instalei o Git em um Droplet pessoal e estou utilizando esse servidor central para todos os projetos. A questão é que sempre que preciso adicionar um novo projeto me vejo buscando na Internet como fazer para

  1. iniciar o repositório
  2. configurar a permissão de acesso ao grupo
  3. distribuir a URL para os outros membros da equipe (especialmente lembrar o formato da URL)

Então escrevi esse guia mais como uma referência pessoal de como fazer o procedimento.

Para iniciar o repositório, entro no servidor via SSH e navego até a pasta

user@marquito:~# cd /var/git/

Crio uma nova pasta para o projeto desejado

user@marquito:/var/git# mkdir novo-projeto.git

Entro na pasta e inicializo um projeto git vazio

user@marquito:/var/git/novo-projeto.git# git init --bare
Initialized empty Git repository in /var/git/criscore.git/

Damos permissão ao grupo do Git (no meu caso o grupo se chama gitusers) [1]

user@marquito:/var/git# chgrp -R gitusers novo-projeto.git/
user@marquito:/var/git# chmod -R g+swX novo-projeto.git/

É isso. O repositório então pode ser clonado usando a seguinte URL (marquito.org é o meu domínio):

git clone git+ssh://user@marquito.org/var/git/novo-projeto.git

Referências:

[1] http://serverfault.com/questions/26954/how-do-i-share-a-git-repository-with-multiple-users-on-a-machine