Ligar o Nextcloud ao Storage Server: espaço, quotas e partilhas

Publicado a 6 min de leitura

O Nextcloud traz utilizadores, quotas e partilhas, o Storage Server traz o espaço. Juntos dão uma nuvem própria em que basta um servidor pequeno e os terabytes ficam noutro sítio.

O Nextcloud faz tudo aquilo que um Storage Server não faz: gerir utilizadores, atribuir a cada um a sua própria quota, partilhar pastas, criar ligações com palavra-passe e data de validade e entregar ficheiros a navegadores por HTTPS. O que torna o Nextcloud caro é o espaço, porque esse fica no SSD NVMe do servidor.

Os dois juntos dão a montagem que se impôs na prática: um servidor pequeno para o Nextcloud, os ficheiros num Storage Server. Este artigo mostra os dois caminhos de configuração, explica qual deles é melhor em que situação e nomeia as armadilhas que aparecem sempre.

Porque é que esta combinação encaixa tão bem

O Nextcloud forneceO Storage Server fornece
Contas de utilizador com palavra-passe e dois fatoresEspaço, de 1 a 20 TB
Quotas por utilizadorSnapshots como segunda camada de segurança
Ligações de partilha com palavra-passe e validadeum local separado do servidor
Entrega por HTTPS com autenticaçãouma fração do custo por terabyte
Histórico de versões e reciclagem100 subcontas para fins separados

O ponto decisivo para muitos projetos: o Storage Server não conhece quotas por subconta. Uma subconta fica confinada ao seu diretório, mas pode encher aí todo o plano. O Nextcloud resolve exatamente isso, porque aí cada utilizador recebe uma quota rígida.

Dois caminhos, e qual deles é o melhor

Caminho A: o Nextcloud fala ele próprio com o armazenamento, através do controlador SMB ou SFTP que já traz. Não é preciso mexer no sistema operativo.

Caminho B: monta o armazenamento no sistema operativo como diretório e configura no Nextcloud um armazenamento externo do tipo «Local» para esse diretório.

Escolha o caminho B se tiver privilégios de root. O desvio pelo sistema de ficheiros é visivelmente mais rápido do que o controlador SFTP do Nextcloud, sobretudo com muitos ficheiros pequenos, e sobrevive melhor a falhas de rede. O caminho A é a solução quando não pode ou não quer alterar nada no sistema operativo.

Preparação: uma subconta própria

Crie na área de cliente uma subconta só para o Nextcloud, com um diretório inicial próprio, por exemplo /nextcloud. Liberte-lhe apenas o protocolo que realmente usa. Verifique também em «Definições de Acesso» se a Acessibilidade Externa está ativada, caso contrário o servidor não chega ao armazenamento.

Os exemplos usam estes valores; substitua-os pelos seus:

ParâmetroValor de exemplo
Nome do anfitriãou123456.storage.kernelhost.net
Subcontau123456-sub1
Partilha (SMB)backup
Porta SMB445
Porta SFTP23

Caminho B: montar e usar como armazenamento local

Primeiro a montagem. No Debian e no Ubuntu:

apt install -y cifs-utils
mkdir -p /mnt/storage
printf 'username=u123456-sub1\npassword=A_SUA_PALAVRA_PASSE\n' > /etc/samba/storage.cred
chmod 600 /etc/samba/storage.cred

Depois a entrada em /etc/fstab, para que sobreviva a um reinício:

//u123456.storage.kernelhost.net/backup /mnt/storage cifs credentials=/etc/samba/storage.cred,uid=www-data,gid=www-data,file_mode=0660,dir_mode=0770,seal,_netdev,nofail 0 0

As três opções importantes: uid=www-data garante que o servidor web pode escrever, seal encripta a transmissão com SMB 3, e _netdev mais nofail evitam que o servidor fique preso no arranque se o armazenamento não estiver a responder.

mount -a
sudo -u www-data touch /mnt/storage/test && echo "Acesso de escrita em ordem"

Depois ative no Nextcloud a aplicação «External storage support» e registe o armazenamento, seja na interface em Administração, Armazenamento externo, seja na linha de comandos:

sudo -u www-data php occ app:enable files_external
sudo -u www-data php occ files_external:create Dados local null::null -c datadir=/mnt/storage
sudo -u www-data php occ files_external:list

A pasta «Dados» aparece agora aos utilizadores a quem a disponibilizar. O acesso controla-o por utilizador ou por grupo, de modo que não seja tudo visível para todos.

Caminho A: armazenamento externo diretamente no Nextcloud

Sem privilégios de root também funciona, sem montagem. Para SMB precisa da extensão PHP correspondente:

apt install -y smbclient php-smbclient
systemctl restart php8.3-fpm

Depois crie uma entrada em Administração, Armazenamento externo:

CampoValor
Nome da pastaDados
Armazenamento externoSMB / CIFS
Anfitriãou123456.storage.kernelhost.net
Partilhabackup
Subpasta remotanextcloud
Nome de utilizadoru123456-sub1
Palavra-passea palavra-passe da subconta

Para SFTP escolhe em vez disso o tipo «SFTP», indica como anfitrião u123456.storage.kernelhost.net e como porta a 23. É a fonte de erro mais frequente neste caminho: o Nextcloud propõe a 22, o nosso armazenamento escuta na 23.

Atribuir quotas por utilizador

Agora vem a parte que justifica toda a montagem. Em Administração, Utilizadores indica uma quota para cada conta, por exemplo 50 GB. Ou na linha de comandos:

sudo -u www-data php occ user:setting fotograf1 files quota "50 GB"

O Nextcloud conta aí as versões e a reciclagem. Está correto assim, mas surpreende com frequência: quem recebe 50 GB e carrega 50 GB tem, por causa das versões antigas, mais ocupado do que esperava. Para contas que substituem muito em vez de acrescentar, vale a pena limitar a retenção de versões.

Ligações de partilha para o seu próprio site

Para o Nextcloud, o armazenamento externo é uma pasta como qualquer outra, pelo que as partilhas funcionam sem alterações. Uma ligação com palavra-passe e data de validade cria-se em três cliques, e o ficheiro é entregue através do Nextcloud, não diretamente pelo armazenamento. As suas credenciais de acesso ao armazenamento nunca saem do servidor.

É exatamente esta a peça que falta num Storage Server sozinho. Quem tem um site com área de downloads recebe aqui gestão de utilizadores, permissões e entrega num só pacote, sem programar nada. Como é a alternativa sem Nextcloud, está em Usar o Storage Server para o seu próprio site.

Quatro armadilhas que aparecem sempre

  • O diretório de dados não pertence ao armazenamento. Tecnicamente é possível, na prática é delicado: o Nextcloud guarda aí também ficheiros de bloqueio e estados intermédios, e uma falha curta de rede paralisa toda a instância. Como armazenamento externo, uma falha afeta apenas essa pasta.
  • A base de dados fica local. Sempre. No armazenamento entram ficheiros, nada mais.
  • Configurar o Redis. Sem cache para os bloqueios de ficheiros, o Nextcloud com armazenamento externo fica visivelmente lento, porque cada bloqueio passa pela base de dados.
  • Porta 23 em vez de 22. Com SFTP, o Nextcloud propõe a 22. O nosso armazenamento escuta na 23, e a mensagem de erro correspondente ajuda pouco.

Que servidor e que plano

Para o Nextcloud em si basta uma máquina pequena. Os ficheiros estão noutro sítio, o servidor só faz a gestão: para um punhado até algumas dezenas de utilizadores ativos chegam 4 a 8 GB de RAM, desde que o Redis esteja a correr e a execução em segundo plano esteja configurada. Um guia para isso está em Instalar o Nextcloud no seu próprio servidor.

No armazenamento, a escolha depende do espaço:

PlanoEspaçoSnapshotsPreço
Storage-11 TB10 mais 10 automáticos9,99 EUR
Storage-25 TB20 mais 20 automáticos29,99 EUR
Storage-310 TB30 mais 30 automáticos39,99 EUR
Storage-420 TB40 mais 40 automáticos69,99 EUR

Todos os Storage Server estão na Alemanha, falam SMB, SFTP, WebDAV e mais, permitem até 100 subcontas e trazem snapshots. Sem taxa de ativação, PrePaid, sem prazo mínimo. Se a sua necessidade de espaço crescer, muda para o plano maior sem tocar nos dados.

Perguntas frequentes

Porque não usar simplesmente um servidor grande com muito disco?
Porque o espaço em disco num servidor com SSD NVMe custa várias vezes mais. O Nextcloud em si precisa de pouco espaço e de pouca potência, a massa está nos ficheiros. Um servidor pequeno mais armazenamento sai por isso, em regra, bem mais barato do que um servidor grande com muito disco.
Devo escolher SMB ou SFTP?
Se tiver privilégios de root no servidor do Nextcloud, monte o armazenamento no sistema de ficheiros por SMB e configure no Nextcloud um armazenamento externo local para esse diretório. É mais rápido e mais estável do que o controlador SFTP do Nextcloud, que abranda visivelmente com muitos ficheiros pequenos.
Posso atribuir a cada utilizador um tamanho próprio?
Sim, e é precisamente essa a razão desta montagem. O Storage Server em si não conhece quotas por subconta, o Nextcloud conhece. Na gestão de utilizadores atribui uma quota a cada conta, e o Nextcloud impõe-a.
Posso colocar os dados diretamente no armazenamento em vez de o usar como armazenamento externo?
Tecnicamente sim, colocando o diretório de dados do Nextcloud no armazenamento montado. Recomendável não é: o Nextcloud guarda aí também ficheiros de bloqueio, pré-visualizações e estados intermédios, e basta uma falha curta de rede para toda a instância parar. Como armazenamento externo, uma falha afeta apenas a pasta em causa.
As ligações de partilha também funcionam para ficheiros no armazenamento?
Sim, para o Nextcloud o armazenamento externo é uma pasta como qualquer outra. As partilhas com palavra-passe e data de validade funcionam exatamente da mesma maneira, e o ficheiro é entregue através do Nextcloud, não diretamente pelo armazenamento.
Que velocidade se consegue?
Com ficheiros grandes, o limite é a ligação do seu servidor, não o armazenamento. Com muitos ficheiros pequenos acresce a latência da rede em cada acesso, e é por isso que as miniaturas pertencem à cache local do Nextcloud e não ao armazenamento externo.
O que acontece se o armazenamento ficar um momento inacessível?
Montado como armazenamento externo, o Nextcloud assinala a pasta como indisponível e o resto continua a funcionar. Se, pelo contrário, todo o diretório de dados estiver lá, a instância para. É esse o motivo mais importante para a variante com armazenamento externo.
Preciso de uma base de dados no armazenamento?
Não, de maneira nenhuma. A base de dados fica no servidor, em armazenamento local rápido. No Storage Server entram apenas os ficheiros.
Quantos utilizadores aguenta um servidor pequeno?
Para um punhado até algumas dezenas de utilizadores ativos, um servidor com 4 a 8 GB de RAM chega sem problemas, desde que o Redis e uma execução regular em segundo plano estejam configurados. Os ficheiros estão de qualquer forma noutro sítio, o servidor só faz a gestão.
Quanto custa a combinação?
Um servidor pequeno para o Nextcloud mais um Storage Server desde 9,99 euros por mês para 1 TB. O Storage-2 com 5 TB custa 29,99, o Storage-3 com 10 TB 39,99 e o Storage-4 com 20 TB 69,99. Tudo sem taxa de ativação, em regime PrePaid e sem prazo mínimo.

Nextcloud Storage Server Externer Speicher SMB SFTP Quota Freigaben