Por Fabrício Tavares / 2012-11-23

Dropbox como servidor Git

Fazem quase 2 anos que utilizo o Git para várias coisas, inclusive para controle de versão.

Cheguei a utilizar repositórios privados do GitHub, e funcionam muito bem. Entretanto possuem a limitação de espaço e quantidade (eu usava o plano Micro, que permite até 5 repositórios privados).

A alternativa: Dropbox.

Pressupostos

  • Conta no Dropbox;
  • Git instalado.

Ou mais:

  • Instância amazon

Dropbox em uma instância AWS EC2 Ubuntu 12.04 LTS

Acesse a instância por ssh.

ssh -i sua_chave.pem ubuntu@seu_ip

É necessário baixar o Dropbox. Caso a versão do Ubuntu seja 64 bits:

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86_64" | tar xzf -

Se for 32 bits:

cd ~ && wget -O - "https://www.dropbox.com/download?plat=lnx.x86" | tar xzf -

Agora é necessário rodar o daemon do Dropbox que está na pasta recém criada.

~/.dropbox-dist/dropboxd

Você precisará copiar o link que aparece no seu navegador para adicionar o servidor à sua conta. Assim que você fizer isso, será criada a pasta Dropbox no seu diretório ~.

Para controlar o Dropbox a partir da linha de comando, é só baixar esse CLI:

mkdir -p ~/bin
wget -O ~/bin/dropbox.py "http://www.dropbox.com/download?dl=packages/dropbox.py"
chmod +x ~/bin/dropbox.py

E para utilizá-lo:

~/bin/dropbox.py help

Não sincronizar todas as pastas

Eu não gosto de deixar todas as minhas pastas sincronizadas com o Dropbox da minha instância EC2, então eu removo aquelas que não desejo (na verdade removo todas, deixo apenas a pasta que fica os repositórios).

~/bin/dropbox.py exclude add NOME_DA_PASTA

Para ver quais pastas estão excluídas da sincronização:

~/bin/dropbox.py exclude list

Problemas conhecidos com Dropbox no servidor

Caso o processo comece a dar problema, basta:

$ ps -e | grep dropbox
3892 ? 00:01:07 dropbox
$ kill 3892
$ ~/bin/dropbox.py start
Starting Dropbox...Done!

comments powered by Disqus