snap nextcloud com diretório de dados no disco rígido externo

9

Eu instalei o nextcloud no meu raspberrypi 3 usando este link . Tudo está funcionando muito bem, exceto que eu não gosto do UX de ter todo o espaço extra de armazenamento proveniente do suplemento "Armazenamento externo", pois isso significa que todos agora precisam saber para colocar todos os seus arquivos em uma pasta designada .

Parece que eu deveria ser capaz de dizer ao nextcloud para usar o disco rígido externo como o local do diretório de dados (sem o suplemento de armazenamento externo) e tudo ficará bem ... e parece que, em teoria, isso funciona bem . Mas, como é instalado como um snap, parece que o snap não tem acesso a essa parte do meu sistema de arquivos e, portanto, não funciona.

Fiquei me perguntando se alguém tinha alguma sugestão. Devo montar o disco rígido dentro da área gravável do snap? É possível dar acesso instantâneo ao disco rígido?

Matt
fonte

Respostas:

13

Primeiro de tudo, eu provavelmente deveria mencionar que este não é realmente um fórum de suporte para o snap do Nextcloud. Se você tiver problemas, poderá registrar um bug .

Dito isto, alguém já fez, com a solução dada aqui .

Para resumir rapidamente aqui: você está certo, isso deve ser possível, e é. No entanto, por padrão, o snap ao Nextcloud não tem permissão para acessar a mídia removível (conforme mencionado no README ).

Portanto, os passos dados são:

  1. Conecte o removable-mediaplugue: sudo snap connect nextcloud:removable-media.
  2. A conexão dessa interface dá ao Nextcloud permissão para acessar as coisas /media/, para que você possa editar /var/snap/nextcloud/current/nextcloud/config/config.phpe garantir que datadirectoryestá apontando para o lugar certo.
  3. Desative o snap: sudo snap disable nextcloud
  4. Mover (ou copiar) o diretório de dados atual para a nova localização: sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/data.
  5. Reative o snap: sudo snap enable nextcloud.

Agora você não precisa se preocupar com a solução de mídia externa: todos os dados do Nextcloud estarão lá.

Observe que isso cobre apenas os dados brutos (por exemplo, arquivos) hospedados pelo Nextcloud. O banco de dados e os aplicativos ainda estão no /var/snap/nextcloud/current/. Eu sugiro que você os deixe lá.

Kyle
fonte
Isso funcionou muito bem! Juro, fiz uma quantidade razoável de pesquisas e não encontrei sua postagem vinculada. A conexão ... mídia removível é a peça que eu não conhecia; era exatamente isso que eu estava procurando e muito útil. Parece uma boa entrada para o snapcraft faq. Desculpas por postar isso no local errado. A colocação de um relatório de erro parecia boba quando eu realmente não encontrei um erro.
Matt
Oh não é necessário desculpas! Isso realmente deve ser coberto no README do snap do Nextcloud, ou talvez em seu wiki.
Kyle
3
Outra coisa a mencionar aqui é que pode haver um problema de permissão nos arquivos, pois o servidor nextcloud ainda é executado como root, enquanto podemos querer usar outras permissões nos arquivos (estou usando o nextcloud como syncthingfront-end). Para corrigir isso, inicialmente eu estava usando o truque de adicionar um sftparmazenamento apontando para o próprio servidor e acessando como o usuário desejado, usando 127.0.0.1como host e o proprietário do arquivo como o usuário com uma chave ssh gerada. Mas essa não foi a melhor escolha. Em bindfsvez disso, usar algo como bindfs --map=ubuntu/root:@ubuntu/@rootfaz o trabalho desejado.
Treviño
Após mover o diretório, obtive "UniqueConstraintViolationException \", \ "Message \": \ "Ocorreu uma exceção ao executar 'INSERT INTO oc_filecache...". Eu não adicionei nenhum arquivo, apenas uma instalação limpa do snap, criei os usuários administrativos e um login antes de mover o diretório. Qualquer pista?
Giox
nextcloud snap + syncthing - a entrada do bindfs no fstab é apenas uma maneira sustentável de fazer esse trabalho. O snap ao Nextcloud não usar as permissões do usuário real é doloroso.
precisa saber é o seguinte
0

Use 'stop' em vez de 'disable', caso contrário você não poderá editar o config.php.

  1. Ativar armazenamento externo para snap: sudo snap connect nextcloud: removable-media

  2. Parar snap nexcloud: sudo snap stop nextcloud

  3. Atualizar local de armazenamento: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

alterar localização dos dados:

'datadirectory' => '/ media / storage / data',

  1. Mova o diretório de dados para o dispositivo de armazenamento: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. Start nextcloud snap: sudo snap start nextcloud

jonathonp
fonte