
Nextcloud é uma solução de computação em nuvem gratuita que oferece diversas opções de uso privado e comercial. Dentre as vantagens do software estão seus robustos recursos de segurança e proteção de dados, como criptografia SSL/TLS, autenticação de dois fatores e conformidade com o GDPR, bem como a possibilidade de escolher entre servidores locais privados ou servidores de host terceirizados.
Instalação Nextcloud Snap
bash
sudo snap install nextcloud
snap changes nextcloud
snap info nextcloud
snap connections nextcloud
Configurando uma conta administrativa
bash
sudo nextcloud.manual-install sammy password
Localizar PHP
bash
sudo find / - name config.php
Vamos Verificar: hostname -I
bash
sudo nextcloud.enable-https self-signed
sudo ufw allow 80,443/tcp
1. Ajuste o Tamanho dos “Chunks” (Pedaços) de Upload
O Cloudflare Free tem um limite de 100MB por requisição. Se o Nextcloud tentar enviar um arquivo maior que isso de uma vez, o túnel vai travar ou ficar extremamente lento. O Nextcloud usa “chunking” para dividir arquivos grandes. Você pode forçar um tamanho de bloco menor (ex: 80MB) para garantir que passe liso pelo túnel:
bash
sudo nextcloud.occ config:system:set files.chunked_upload.max_size --value 83886080
2. Otimize a Geração de Previews (Miniaturas)
O Nextcloud tenta gerar miniaturas de todas elas assim que você abre a pasta, o que consome toda a CPU e RAM.
Instale o app “Preview Generator” na loja de aplicativos do Nextcloud.
Pré-gere as imagens via terminal (isso deve ser feito uma vez para as fotos antigas):
bash
sudo nextcloud.occ app:enable previewgenerator
sudo nextcloud.occ preview:generate-all -vvv
Limite o tamanho das miniaturas no arquivo de configuração para não fritar seu processador:
bash
sudo nextcloud.occ config:system:set preview_max_x --value 1024
sudo nextcloud.occ config:system:set preview_max_y --value 1024
3. Configurações no Cloudflare Tunnel
No painel do Cloudflare (Zero Trust), verifique as configurações do seu Hostname Público:
Vá em Traffic -> Argo Smart Routing e ative (se estiver disponível no seu plano), pois ajuda na latência.
No túnel específico, garanta que a opção HTTP2 Connection esteja ativa nas configurações de rede (Origin Settings), pois o HTTP/2 lida muito melhor com múltiplos arquivos pequenos (como ícones e fotos).
4. Memória RAM (PHP Memory Limit)
O Snap já vem configurado, mas com 4GB você pode estar sofrendo com “swapping” (uso do disco como memória). Verifique se o limite de memória do PHP está adequado:
bash
sudo snap set nextcloud php.memory-limit=512M
(ou até 1G, se não houver outros serviços pesados no Ubuntu).
Dica Bônus: O Arquivo de SWAP
Como você mencionou que tem 4GB de RAM, se o processo de gerar miniaturas travar o servidor, é sinal de que a memória acabou. Criar um arquivo de SWAP de 4GB (Obs: se for 8GB, troque para 8) ajudará o Ubuntu a não “congelar”:
Bash
# Cria um arquivo de 4GB para swap
sudo fallocate -l 4G /swapfile
# Ajusta permissões
sudo chmod 600 /swapfile
# Formata como swap
sudo mkswap /swapfile
# Ativa o swap
sudo swapon /swapfile
Para tornar permanente, adicione /swapfile none swap sw 0 0 ao final do arquivo /etc/fstab.
Opção 1: Comando Direto (Mais Rápido e Seguro)
Bash
sudo echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab