Nextcloud no lugar do Office 365: meu plano antes de migrar
Quero trocar o Office 365 por um Nextcloud em casa. O que ele substitui, onde instalar, requisitos, o limite de 100 MB do Cloudflare e a ordem da migração.
- Publicado
- Leitura
- 5 min

Um dos planos do meu homelab é sair do Office 365 e montar um Nextcloud em casa, junto com um NAS. Ainda não fiz. Antes de mexer nos arquivos, quero entender o que muda, o que o Nextcloud pede e onde estão as armadilhas.
Este post é esse planejamento, com o que dizem as documentações oficiais. Quando eu montar, volto para contar como foi na prática.
O que o Nextcloud substitui #
O Nextcloud é uma plataforma de arquivos self-hosted, com apps para muita coisa além disso. Pensando no que se usa do Office 365 numa casa:
- OneDrive vira o Nextcloud Files, com cliente de sincronização para computador e celular;
- Word, Excel e PowerPoint no navegador viram o Nextcloud Office, que é baseado no Collabora Online;
- Calendário e contatos viram os apps Calendar e Contacts, com sincronização por CalDAV e CardDAV;
- Teams, se for o caso, vira o Nextcloud Talk.
E-mail é outra conversa. Hospedar e-mail em casa é um problema à parte, e não está no meu plano.
Antes de tudo: o backup que hoje vai para o OneDrive #
Esse ponto é específico do meu homelab, mas vale para quem está na mesma situação. Hoje a cópia fora de casa dos meus backups vai para o OneDrive, com rclone. Se o OneDrive sair junto com o Office 365, perco justamente a cópia que me protege de perder a casa inteira.
E o Nextcloud não resolve isso sozinho: se ele roda no meu homelab, ele está dentro de casa. Guardar o backup do homelab no Nextcloud do homelab não é cópia fora de casa.
Então, antes de cancelar qualquer coisa, a cópia externa precisa ter um destino garantido. Eu já perdi tudo uma vez e conto como reorganizei o backup no post sobre backup com vzdump. Não quero repetir.
Onde instalar #
Pesquisei três caminhos:
Nextcloud All-in-One (AIO). É o caminho oficial em Docker. Um container principal cria os outros e cuida das atualizações. Pela documentação, ele inclui como opcionais o Nextcloud Office, o backend do Talk e uma solução de backup baseada no BorgBackup. A interface do AIO fica na porta 8080; com um domínio apontado para o servidor, usa as portas 80 e 8443. Há documentação própria para rodar atrás de um proxy reverso.
NextcloudPi pelo community-scripts. O script cria um container LXC Debian unprivileged com 2 núcleos, 2 GB de RAM e 8 GB de disco por padrão. Como contei no post sobre o community-scripts, leio o script antes de rodar como root.
Instalação manual. O Nextcloud num LXC com servidor web, PHP e banco de dados configurados à mão. Mais trabalho e mais controle.
Como quase tudo aqui roda em LXC e uso pouco o Docker, a escolha não é óbvia. O AIO é o mais completo e o mais documentado, mas exige Docker.
O que o Nextcloud pede #
A documentação oficial traz os requisitos. Os que pesam no planejamento:
- Memória: mínimo de 128 MB por processo, recomendado 512 MB por processo. O consumo real depende de quantas pessoas usam, de quantos apps estão ligados e da quantidade de arquivos.
- Banco de dados: MariaDB ou PostgreSQL são os recomendados. O SQLite só é indicado para testes e instalações mínimas.
- Armazenamento: é aqui que entra o NAS. Não quero os arquivos no mesmo SSD de 1 TB que hoje guarda o sistema e todos os containers.
O ThinkCentre tem 24 GB de RAM, então a memória não deve ser o gargalo. O disco é.
O acesso de fora e o limite de upload #
Hoje publico as aplicações pelo Cloudflare Tunnel. Para o Nextcloud, há um detalhe que encontrei na pesquisa: no plano grátis da Cloudflare, o corpo de cada requisição é limitado a 100 MB. Upload maior que isso recebe erro 413.
O Nextcloud divide uploads grandes em pedaços. Pela documentação, o cliente de sincronização não é afetado pelos limites de upload, porque já envia em pedaços menores. O tamanho do pedaço no servidor é de 100 MiB por padrão, que é um pouco mais que 100 MB. A documentação mostra como reduzir:
sudo -E -u www-data php occ config:system:set --type int --value 20971520 files.chunked_upload.max_size
Esse exemplo deixa o pedaço em 20 MB. Ainda vou testar se isso basta para os uploads pelo navegador através do tunnel.
A migração, em ordem #
O plano que montei:
- Resolver a cópia fora de casa dos backups, antes de qualquer outra coisa.
- Comprar o NAS e definir onde ficam os arquivos.
- Instalar o Nextcloud e testar com uma conta só, a minha.
- Copiar os arquivos do OneDrive para o Nextcloud e conferir.
- Colocar o Nextcloud no backup da noite: os dados e o banco.
- Testar uma restauração completa do Nextcloud.
- Passar os outros usuários, uma pessoa por vez, com o cliente no computador e no celular.
- Só então, cancelar o Office 365.
Resumindo #
- Nextcloud cobre arquivos, documentos, agenda, contatos e conversa. E-mail fica fora.
- Backup fora de casa primeiro: o Nextcloud de casa não serve de cópia externa.
- AIO é o caminho oficial em Docker; NextcloudPi pelo community-scripts é a opção em LXC.
- 512 MB por processo, MariaDB ou PostgreSQL, e um NAS para os arquivos.
- Cloudflare grátis limita requisições a 100 MB. Ajuste o tamanho dos pedaços de upload.
- Migre devagar e cancele por último.
Sair do Office 365 é mais uma questão de ordem do que de tecnologia. Com o backup resolvido primeiro, o resto é paciência.
Fontes e documentação
- github.com/nextcloud/all-in-one
- docs.nextcloud.com/server/latest/admin_manual/installation/system_requirements.html
- docs.nextcloud.com/server/latest/admin_manual/configuration_files/big_file_upload_configuration.html
- developers.cloudflare.com/workers/platform/limits/
- github.com/community-scripts/ProxmoxVE