complemento de nextcloud con directorio de datos en disco duro externo

9

Instalé nextcloud en mi raspberrypi 3 usando este enlace . Todo funciona bastante bien, excepto que no me gusta la experiencia de usuario de tener todo el espacio de almacenamiento adicional proveniente del complemento "Almacenamiento externo", ya que significa que ahora todos deben saber colocar todos sus archivos en una carpeta designada .

Parece que debería poder decirle a nextcloud que use el disco duro externo como ubicación del directorio de datos (sin el complemento de almacenamiento externo) y todo estará bien ... y parece que, en teoría, funciona bien . Pero, dado que está instalado como complemento, parece que el complemento no tiene acceso a esa parte de mi sistema de archivos y, por lo tanto, no funciona.

Me preguntaba si alguien tenía alguna sugerencia. ¿Debo montar el disco duro dentro del área de escritura del complemento? ¿Es posible dar acceso instantáneo al disco duro?

Mate
fuente

Respuestas:

13

En primer lugar, probablemente debería mencionar que este no es realmente un foro de soporte para el complemento de Nextcloud. Si tiene problemas con él, puede registrar un error en él .

Dicho esto, alguien ya lo hizo, con la solución dada aquí .

Para resumir rápidamente aquí: tiene razón, esto debería ser posible, y lo es. Sin embargo, de manera predeterminada, el complemento Nextcloud no tiene permiso para acceder a los medios extraíbles (como se menciona en su archivo README ).

Entonces, los pasos dados son:

  1. Conectar el removable-mediaenchufe: sudo snap connect nextcloud:removable-media.
  2. Conectar esa interfaz le da permiso a Nextcloud para acceder a las cosas /media/, para que pueda editar /var/snap/nextcloud/current/nextcloud/config/config.phpy asegurarse de que datadirectoryapunta al lugar correcto.
  3. Deshabilitar el complemento: sudo snap disable nextcloud
  4. Mover (o copiar) el directorio de datos actual a la nueva ubicación: sudo mv /var/snap/nextcloud/common/nextcloud/data /media/my/new/data.
  5. Vuelva a activar el complemento: sudo snap enable nextcloud.

Ahora no necesita preocuparse con la solución de medios externos: todos los datos de Nextcloud estarán allí.

Tenga en cuenta que esto solo cubre los datos sin procesar (por ejemplo, archivos) alojados por Nextcloud. La base de datos y las aplicaciones todavía están en /var/snap/nextcloud/current/. Te sugiero que los dejes allí.

Kyle
fuente
Esto funcionó muy bien! Lo juro, hice una buena cantidad de búsquedas y no encontré tu publicación vinculada. La conexión ... medios extraíbles es la pieza que no conocía; eso es exactamente lo que estaba buscando y muy útil. Parece una buena entrada para las preguntas frecuentes de Snapcraft. Disculpas por publicar esto en el lugar equivocado. Colocar un informe de error parecía una tontería cuando en realidad no encontré un error.
Matt
¡Oh, no es necesario disculparse! Esto realmente debería estar cubierto en el archivo README de Nextcloud snap, o tal vez en su wiki.
Kyle
3
Otra cosa que mencionar aquí es que podría haber un problema de permisos en los archivos ya que el servidor nextcloud todavía se ejecuta como root, mientras que podríamos querer usar otros permisos para los archivos (estoy usando nextcloud como syncthingfront-end). Para solucionar esto, inicialmente estaba usando el truco de agregar un sftpalmacenamiento apuntando al servidor en sí y accediendo como el usuario deseado, usando el 127.0.0.1host y el propietario del archivo como el usuario con una clave ssh generada. Pero esta no fue la mejor opción. Usar en bindfscambio con algo como bindfs --map=ubuntu/root:@ubuntu/@root, en cambio, hace el trabajo deseado.
Treviño
Después de mover el directorio obtuve "UniqueConstraintViolationException \", \ "Message \": \ "Se produjo una excepción al ejecutar 'INSERT INTO oc_filecache...". No le había agregado ningún archivo, solo una instalación limpia del complemento, creó los usuarios administradores y un inicio de sesión antes de mover el directorio. ¿Cualquier pista?
Giox
nextcloud snap + syncthing: la entrada de bindfs en fstab es solo una forma sostenible de hacer que esto funcione. Nextcloud snap no usar los permisos del usuario real es doloroso.
Jack Wasey el
0

Use 'detener' en lugar de 'deshabilitar'; de lo contrario, no podrá editar config.php.

  1. Habilitar almacenamiento externo para snap: sudo snap connect nextcloud: medios extraíbles

  2. Stop nexcloud snap: sudo snap stop nextcloud

  3. Actualizar ubicación de almacenamiento: sudo vim /var/snap/nextcloud/current/nextcloud/config/config.php

cambiar ubicación de datos:

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

  1. Mueva el directorio de datos al dispositivo de almacenamiento: sudo mv / var / snap / nextcloud / common / nextcloud / data / media / storage /

  2. Inicie nextcloud snap: sudo snap start nextcloud

jonathonp
fuente