Dossiê de Campo · git · uso livre
VÁRIOS DRIVES,
UM PAINEL SÓ
O 9Drive junta as contas de Google Drive que você tem espalhadas — e mais
armazenamento S3 — em um painel único. Quando você sobe um arquivo, ele escolhe sozinho
qual conta tem espaço.
Repo: zenhosta/9drive
Estrelas: 1,5 mil
Forks: 307
Stack: Node + React
Verificado: 05/08/2026
O problema que resolve
VOCÊ JÁ TEM O ESPAÇO.
ELE ESTÁ FRAGMENTADO
Quase todo mundo tem três, quatro contas de Google Drive — a pessoal, a do trabalho, a
antiga da faculdade, a que criou só para um projeto. Cada uma com 15 GB grátis. Somadas,
são dezenas de gigabytes que você não consegue usar como se fossem uma coisa só.
O 9Drive resolve isso por cima: ele conecta todas, mostra o total agregado, e
decide sozinho para qual conta mandar cada upload com base em quem tem
espaço sobrando.
O detalhe que importa
O arquivo não fica guardado no servidor do 9Drive. Ele é transmitido
direto para o Drive de destino, em fluxo. O backend é caminho, não depósito.
O que ele faz
ALÉM DO GOOGLE DRIVE
Ele não é só um agregador de Drive. Também fala com armazenamento compatível com S3 —
o que abre a porta para provedor mais barato quando o volume cresce.
- S3 compatível com endpoint customizado: MinIO, Cloudflare R2,
Wasabi, Backblaze B2 e AWS S3
- Três políticas de roteamento: mais espaço disponível, alternância
circular ou ordem de prioridade que você define
- API externa de upload em
POST /api/v1/uploads, com
chaves de API — dá para plugar num sistema seu
- Gestão de chaves com exibição única do segredo, armazenamento em
hash, registro de último uso e revogação
- Pastas virtuais, preview, download, renomear, mover e apagar
- Sincronização manual: se você jogar um arquivo direto na pasta
9drive do Google Drive, ele importa para o painel
- Login por e-mail ou Google, com reCAPTCHA opcional no cadastro
Instalação
O CAMINHO CURTO
Docker é a rota mais rápida — sobe banco, backend e frontend de uma vez.
capitao@protocolo ~ %
$ git clone https://github.com/zenhosta/9drive.git
$ cd 9drive
$ cp .env.docker.example .env
# edite o .env com suas credenciais do Google
$ docker compose up -d --build
Sem Docker, existem scripts de setup para os dois mundos:
setup.sh no Linux e macOS, setup.ps1 no Windows.
O que você precisa antes
- Node.js 20+ e npm
- MySQL 8+ — o Docker já traz junto
- Um projeto no Google Cloud com a Google Drive API habilitada
- Client ID e Client Secret do OAuth
A parte chata
O GOOGLE CLOUD É
O GARGALO
⚠ Onde a maioria trava
Instalar o 9Drive leva minutos. Configurar o OAuth do Google leva bem mais — e é
onde quem não é técnico desiste.
- Criar projeto no Google Cloud Console — não é o Search Console,
confusão comum
- Habilitar a Google Drive API na biblioteca
- Configurar a tela de consentimento como External, com os escopos de
drive, e-mail e perfil
- Adicionar usuários de teste. Se pular esse passo com o app em modo
Testing, o Google devolve
Error 403: access_denied
- Criar o OAuth Client do tipo Web, com origem e URI de callback
As credenciais podem ser colocadas depois pela própria interface, em
Settings › Google Credentials — ficam criptografadas no banco. Isso poupa
mexer em arquivo .env.
Quando não usar
ONDE ISSO NÃO SERVE
- Sem licença declarada. O repositório não traz arquivo de LICENSE.
Sem ela, o padrão legal é "todos os direitos reservados" — uso pessoal é uma coisa, uso
comercial é outra. Se for para empresa, abra uma issue perguntando antes.
- Escopo de Drive completo. O app pede acesso total ao seu Drive, não
só à pasta dele. É necessário para o funcionamento, mas você precisa estar confortável
com isso.
- Você não quer administrar servidor. É self-hosted. Backup, atualização
e disponibilidade passam a ser seus.
- Contorno de cota como plano de negócio. Somar contas gratuitas para
escapar de plano pago é área cinzenta nos termos do Google. Para uso pessoal, tudo bem.
Como infraestrutura de empresa, é risco de perder acesso.
Coordenadas
PARA ONDE IR AGORA