nextcloud snap с каталогом данных на внешнем жестком диске

9

Я установил nextcloud на мой raspberrypi 3 по этой ссылке . Все работает довольно хорошо, за исключением того, что мне не нравится, когда в UX есть все дополнительное пространство для хранения, извлекаемое из надстройки «Внешнее хранилище», поскольку это означает, что теперь все должны знать, чтобы поместить все свои файлы в назначенную папку ,

Похоже, я должен просто сказать nextcloud использовать внешний жесткий диск в качестве расположения каталога данных (без надстройки внешнего хранилища), и все будет хорошо и хорошо ... и в теории все работает нормально , Но, поскольку он установлен как оснастка, похоже, что оснастка не имеет доступа к этой части моей файловой системы и, следовательно, не работает.

Мне было интересно, есть ли у кого-нибудь предложения. Должен ли я установить жесткий диск внутри области записи снимка? Можно ли дать мгновенный доступ к жесткому диску?

Matt
источник

Ответы:

13

Прежде всего, я должен упомянуть, что на самом деле это не форум поддержки Snapcloud. Если у вас есть проблемы с ним, вы можете зарегистрировать ошибку против него .

Тем не менее, кто-то уже сделал, с решением, приведенным здесь .

Чтобы быстро подвести итог здесь: вы правы, это должно быть возможно, и это так. Однако по умолчанию оснастка Nextcloud не имеет разрешения на доступ к съемным носителям (как указано в README ).

Итак, шаги приведены ниже:

  1. Подключите removable-mediaштекер: sudo snap connect nextcloud:removable-media.
  2. Подключение этого интерфейса дает Nextcloud разрешение на доступ к вещам /media/, поэтому вы можете редактировать /var/snap/nextcloud/current/nextcloud/config/config.phpи убедиться, что datadirectoryуказатель указывает на правильное место.
  3. Отключить оснастку: sudo snap disable nextcloud
  4. Переместить (или скопировать) текущий каталог данных в новое место: sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/data.
  5. Повторное включение оснастки: sudo snap enable nextcloud.

Теперь вам не нужно беспокоиться о решении для внешних носителей: все данные Nextcloud будут там.

Обратите внимание, что это касается только необработанных данных (например, файлов), размещенных в Nextcloud. База данных и приложения все еще в /var/snap/nextcloud/current/. Я предлагаю вам оставить их там.

рукав моря
источник
Это сработало отлично! Клянусь, я сделал приличный объем поиска и не нашел вашу ссылку. Подключаемый ... съемный носитель - часть, о которой я не знал; это именно то, что я искал и очень помогло. Похоже, хорошая запись для часто задаваемых вопросов Snapcraft. Извиняюсь за размещение этого в неправильном месте. Размещение сообщения об ошибке казалось глупым, когда я не нашел ошибку.
Мэтт
О, не нужно извинений! Это действительно должно быть описано в README снимка Nextcloud или, возможно, в его вики.
Кайл,
3
Еще одна вещь, о которой здесь следует упомянуть, это то, что может возникнуть проблема с правами доступа к файлам, поскольку сервер nextcloud по-прежнему работает от имени пользователя root, в то время как мы можем использовать другие разрешения для файлов (я использую nextcloud в качестве внешнего syncthingинтерфейса). Чтобы исправить это, изначально я использовал хитрость, заключающуюся в добавлении sftpхранилища, указывающего на сам сервер, и обращении к нему как к нужному пользователю, используя его в 127.0.0.1качестве хоста, а владельца файла - как пользователя с сгенерированным ключом ssh. Но это был не лучший выбор. Использование bindfsвместо этого с чем-то вроде bindfs --map=ubuntu/root:@ubuntu/@root, вместо этого делает желаемую работу.
Тревиньо
После перемещения каталога я получил «UniqueConstraintViolationException \», \ «Message \»: \ «Возникла исключительная ситуация при выполнении операции« INSERT INTO oc_filecache... ». Я не добавил к нему никаких файлов, просто установил оснастку, создал пользователей с правами администратора и один логин перед перемещением каталога. Любая подсказка?
Giox
nextcloud snap + syncthing - запись bindfs в fstab - единственный способ, которым я сделал эту работу. Привязка Nextcloud, не использующая разрешения реального пользователя, является болезненной.
Джек
0

Используйте «stop» вместо «disable», иначе вы не сможете редактировать config.php.

  1. Включить внешнее хранилище для привязки: sudo snap connect nextcloud: съемный носитель

  2. Остановить привязку nexcloud: остановка привязки sudo

  3. Обновление места хранения: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

изменить местоположение данных:

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

  1. Переместите каталог данных на устройство хранения: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. Запустить следующую облачную привязку: sudo snap запустить следующую облачную

jonathonp
источник