Tutorial · Homelab

Nextcloud em casa, do zero

Como montar sua própria nuvem privada com hardware encostado, instalar o Nextcloud em menos de três minutos via ZimaOS e configurar tudo que o Google Drive faz — backup automático de fotos, share links, edição online — sem pagar mensalidade nem entregar seus arquivos pra Big Tech.

12 min de leitura Iniciante Atualizado em mai/26 Baseado no vídeo de mar/26
Sumário
  1. Por que ter sua nuvem
  2. O hardware que serve
  3. Pré-requisitos
  4. Instalação via ZimaOS
  5. Primeira configuração
  6. App mobile + auto-backup
  7. Share links com expiração
  8. Acesso de fora de casa
  9. Troubleshooting
  10. Próximos passos

Por que ter sua nuvem

Eu pagava R$ 95 por mês no plano de 2 TB do Google Drive. Em doze meses isso vira R$ 1.140 jogados fora por algo que você pode construir em casa com hardware que já tá encostado. Em cinco anos é quase seis mil reais — o suficiente pra comprar três HDs de 6 TB novos.

Mas o dinheiro é só metade do argumento. A outra metade é posse. Quando você clica em "aceitar os termos" de uma Big Tech, está entregando a chave da sua casa. Eles escaneiam suas fotos, leem seus documentos pra treinar IA, e se um algoritmo decidir que você violou uma regra obscura, sua conta inteira pode ser banida sem aviso. Você perde contatos, e-mail, histórico de vida em um segundo e depois é "você que lute" — tem casos documentados de gente que perdeu décadas de arquivos por um falso positivo.

Com o Nextcloud rodando em casa, os dados são cem por cento seus. Não tem rastreador invisível, não tem IA lendo as coisas, e ninguém aperta um botão em outro continente pra apagar seus arquivos. E como bônus, a nuvem fica mais rápida dentro de casa: o tráfego não vai pra internet, vai direto pelo roteador, de um dispositivo pro outro. Numa rede de 2.5 Gb com internet de 250 Mb de upload, mover arquivos localmente é literalmente dez vezes mais rápido que mandar pro Google.

O hardware que serve

Você não precisa de NAS de cinco mil reais. Pra uso pessoal, isso é burrice financeira. O coração da minha nuvem é um ZimaBoard 2: minúsculo, consome menos que uma lâmpada e roda 24/7 sem barulho. Mas dá pra usar coisa ainda mais simples — qualquer computador ou notebook abandonado por aí serve.

Hardware Custo aprox. RAM Consumo Quando faz sentido
ZimaBoard 2 R$ 1.500–2.500 8–16 GB ~10 W Setup limpo, silencioso, 24/7 sem culpa de conta de luz
Mini-PC (N100/N305) R$ 1.200–2.000 8–32 GB 10–15 W Mais RAM, melhor pra rodar Plex + Nextcloud juntos
Notebook velho R$ 0 (você já tem) 4–16 GB 15–30 W Pra testar sem investir nada. Bateria vira UPS de graça.
Raspberry Pi 5 R$ 800–1.200 4–8 GB ~7 W Performance ok pra 1–2 usuários, ideal pra quem quer brincar

Pros HDs, mesma lógica: pegue o que você tem encostado. Aqui em casa o sistema roda na memória interna de 64 GB do ZimaBoard, e pros arquivos eu plug um HD antigo de 1 TB num SATA e um HD externo de 2 TB no USB 3.0. São 3 teras de equipamento sem uso virando ativo real.

SSD NVMe é exagero (na maioria dos casos)

Se sua rede local é 2.5 Gb, o teto de transferência é ~300 MB/s. HDs mecânicos modernos saturam isso de boa. Trocar pra NVMe só faz sentido se você for migrar pra rede de 10 Gb — antes disso, é rasgar dinheiro.

Pré-requisitos

O tutorial assume que você vai pelo caminho mais fácil — ZimaOS, a distro Linux com interface gráfica feita pra homelab. Mas dá pra rodar em Ubuntu/Debian puro com Docker, se preferir.

O que você precisa antes de começar:

  • O hardware ligado, com rede via cabo (Wi-Fi serve, mas cabo é mais estável)
  • Pelo menos um disco extra pra dados (não precisa ser novo)
  • ZimaOS instalado (siga o guia oficial — boota por USB, formata o disco do sistema)
  • O IP do ZimaOS na sua rede (descubra pelo painel do roteador ou no display do dispositivo)
  • Reserva de DHCP no roteador pro IP do servidor não mudar (ou IP fixo manual)
Sem ZimaOS?

Em qualquer Linux com Docker instalado, você pode rodar o Nextcloud All-in-One: docker run -d --restart=unless-stopped --publish 8080:8080 --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config --volume /var/run/docker.sock:/var/run/docker.sock:ro nextcloud/all-in-one:latest. Os passos a partir da seção 5 valem igual.

Instalação via ZimaOS

Aqui mora o "uau" da história. No ZimaOS, instalar o Nextcloud é mais parecido com instalar app no celular do que com administrar servidor. Esqueça terminal, esqueça apt, esqueça config file. Cinco passos:

1

Abra o ZimaOS no navegador

Digite o IP do seu ZimaBoard (ex: http://192.168.1.50) em qualquer navegador da sua rede. Faça login com o usuário que você criou na primeira inicialização.

2

Acesse a loja de aplicativos

No painel principal, clica em App Store. Busca por Nextcloud no campo de pesquisa. Vai aparecer o card oficial — clica nele.

3

Configure a pasta de dados

Antes de clicar em "Install", o ZimaOS pergunta onde guardar os arquivos. Mapeia a pasta interna /var/www/html/data pro seu HD externo ou disco extra (ex: /DATA/Storage). É aqui que seus arquivos vão viver de verdade.

Você também pode mudar a porta padrão (8080) se ela já estiver ocupada por outro app.

4

Clica em Install e espera

O ZimaOS baixa a imagem Docker do Nextcloud, configura volumes, sobe o container. Demora 1–2 minutos. Quando o status mudar pra Running, terminou.

5

Abre o Nextcloud

Clica no ícone do Nextcloud no painel — ele abre numa nova aba em http://IP-DO-ZIMA:8080. Tela de boas-vindas pra criar o usuário admin. Pronto, sua nuvem tá no ar.

Bug na versão atual do Docker no ZimaOS

Em ZimaOS 1.2 e anteriores, há um bug intermitente em que o container reinicia em loop nas primeiras 24h. O fix é simples — após a instalação, acessa Settings → Docker → Update Engine e atualiza pra última versão estável. Threads no r/selfhosted confirmam que isso resolve o problema em 100% dos casos reportados.

Primeira configuração

Com o Nextcloud aberto, três coisas pra fazer antes de subir o primeiro arquivo:

1. Criar o usuário admin (e um segundo "user")

Na primeira tela, cria um login admin com senha forte — esse é só pra administração. Não use ele no dia a dia. Depois, em Configurações → Usuários, cria um segundo login pra você mesmo (ex: viktor) e marca como usuário normal, sem privilégios admin. É boa prática separar — se você comprometer a sessão do dia a dia, o admin tá intacto.

2. Configurar o domínio confiável

Se você só vai acessar pelo IP local, pula. Se quiser acessar por nome (ex: nuvem.casa.local), edita o config.php dentro do container ou pelo painel do ZimaOS. Adiciona seu domínio em trusted_domains:

config.php
'trusted_domains' => array(
    0 => '192.168.1.50',
    1 => 'nuvem.casa.local',
    2 => 'nuvem.viktorkav.com.br',
),

3. Ativar HTTPS (importante)

HTTP puro só na rede interna. Pra qualquer coisa que sair de casa, HTTPS. Você tem três caminhos:

  • Cloudflare Tunnel — gratuito, cuida do certificado, expõe sem abrir porta no roteador. Mais simples se você tem domínio.
  • Tailscale + HTTPS — gera certificado interno via tailscale cert. Cobre acesso remoto seguro sem expor pra internet (ver tutorial do Tailscale).
  • Nginx Proxy Manager + Let's Encrypt — pra quem quer expor diretamente. Mais setup, mais controle.

O caminho que eu uso e recomendo é Tailscale.

App mobile + auto-backup

O app oficial do Nextcloud (iOS e Android) faz o que o Google Fotos faz, gratuito, e os arquivos ficam na sua casa. Configuração leva 2 minutos.

1

Instala o app

Procura por Nextcloud na App Store ou Play Store. App oficial verde, ~80 MB.

2

Conecta no servidor

Na tela inicial, cola a URL completa (ex: http://192.168.1.50:8080). O app abre uma página de autenticação web — loga com o usuário que você criou e autoriza o token.

3

Ativa o auto-upload de fotos

Em Configurações → Upload automático, liga as pastas de Câmera e Screenshots. Define a pasta destino no servidor (ex: /Photos/iPhone). Marca Apenas no Wi-Fi se não quiser estourar plano de dados.

4

Testa o background

Fecha o app, tira uma foto, espera 30 segundos. Volta no app — deve aparecer "1 upload pendente" e completar. No iOS, o background do app é restrito; você precisa abrir o app de vez em quando pra ele sincronizar (ou usar atalho do iOS Shortcuts pra forçar).

Cuidado com o tamanho dos vídeos

Vídeos 4K do iPhone podem ter 2–4 GB cada. Se você grava muito, considera desativar upload automático de vídeos e fazer manual quando estiver em casa, no Wi-Fi.

Acesso de fora de casa

Aqui mora a maior dúvida — e a maior pegadinha. A reação natural é abrir uma porta no roteador (port forwarding) e mapear pro IP do servidor. Não faça isso. Expor diretamente a porta 80/443 do seu home server é convite pra scan automático, brute force e malware. Tem alternativas melhores, mais seguras e sem complexidade.

Caminho A: Tailscale (o que eu uso)

Instala o Tailscale no servidor e no seu celular/notebook. Cada dispositivo entra numa rede privada (mesh VPN) com IP estável. Você acessa o Nextcloud usando o IP do Tailscale do servidor — funciona em qualquer rede, criptografado de ponta a ponta, sem mexer no roteador. Cobre CGNAT, IP dinâmico, tudo.

Tutorial completo do Tailscale aqui. Cinco minutos pra configurar.

Caminho B: Cloudflare Tunnel

Pra quando você precisa que outras pessoas acessem seu Nextcloud (compartilhar pasta com cliente, por exemplo). O Cloudflare Tunnel expõe seu servidor via nuvem.seudominio.com, com HTTPS gratuito, sem abrir porta. Setup leva 10 minutos e o plano grátis cobre uso pessoal de boa.

Não use Caminho A e B na mesma URL

Se você expõe via Cloudflare Tunnel e também acessa pelo Tailscale, o Nextcloud pode confundir os domínios e exigir HTTPS em ambos. Decide qual é o caminho principal e configura overwrite.cli.url no config.php pra ele.

Troubleshooting

Espaço em disco mostra errado

Você copiou arquivos diretamente pro disco (via SSH ou montagem externa) e o Nextcloud não enxerga. Solução: rodar o scan manual. No terminal do container:

terminal
docker exec -u www-data nextcloud-aio-nextcloud php occ files:scan --all

App mobile não sincroniza no background

Quase sempre é otimização de bateria do sistema. No Android, vai em Configurações → Bateria → Otimização → Nextcloud e marca como Sem restrição. No iOS, abre o app a cada 1–2 dias pra forçar sincronização — o iOS limita background de apps de terceiros e não tem jeito.

Performance lenta em pasta grande

Se sua pasta tem mais de 10 mil arquivos, o Nextcloud fica lento sem cache de memória. Ativa o APCu editando o config.php:

config.php
'memcache.local' => '\OC\Memcache\APCu',

Pra usuários múltiplos com acesso concorrente, vale subir um Redis no mesmo ZimaOS e configurar memcache.distributed.

Login funciona local mas não pelo Tailscale

Erro clássico de trusted_domains. Adiciona o IP/hostname do Tailscale ao array (ver seção 5). Sem isso, o Nextcloud rejeita o request por segurança.

Atualização travada

Acontece quando o container fica em modo manutenção e não sai. Força a saída:

terminal
docker exec -u www-data nextcloud-aio-nextcloud php occ maintenance:mode --off

Próximos passos

Com a nuvem rodando, dois movimentos naturais: liberar acesso remoto seguro e encarar storage de verdade.