Nube personal con Raspberry Pi y NextCloud en Docker

Esta guía nos proporcionará una forma muy sencilla de tener una nube personal con Raspberry Pi. Usaremos una Raspberry Pi 3 Model B+, con una unidad USB externa que almacenará todos nuestros datos. Nuestro disco USB se formateará en este procedimiento para asegurar que funcionará. Así que tenga cuidado de usar un disco USB libre para evitar la pérdida de datos en el momento del formateo.

Desde el lado del software, usaremos Docker para tener las mejoras obtenidas del contenedor y NextCloud.

Lo que necesitamos

Como de costumbre, sugiero agregar desde ahora a su carrito de compras de comercio electrónico favorito todo el hardware necesario, para que al final pueda evaluar los costos generales y decidir si continúa con el proyecto o los elimina del carrito de compras. Entonces, el hardware será solo:

Consulta precios de hardware en los siguientes enlaces:

Guía paso por paso

Preparar el entorno del sistema operativo

Nuestra nube privada se instalará en el sistema operativo oficial lite. Utilice la guía de instalación de Raspberry PI OS Lite para realizar esta tarea. Una vez hecho esto, recuerda actualizar desde la terminal:

sudo apt update -y && sudo apt upgrade -y

Ahora estamos listos para instalar Docker en Raspberry Pi.

Preparar almacenamiento USB

Tenga en cuenta que su almacenamiento USB debe formatearse con ext4 FS. Puede lograrlo con el siguiente comando, suponiendo que su almacenamiento se reconozca como «/dev/sda»:

sudo umount /dev/sda && sudo mkfs.ext4 /dev/sda

Debe estar seguro de que su almacenamiento USB estará disponible en cada arranque en el mismo punto de montaje. Esto no se otorga con Raspberry PI OS Lite (a diferencia de RPI OS Desktop).

Supongamos que este punto de montaje será «/media/myUSB/», puede hacer que funcione después de cada reinicio usando mi almacenamiento USB Automount con Raspberry PI OS Lite: tutorial de fstab y autofs.

Tenga en cuenta que el sistema de archivos ext4 no permite configurar uid y gid en sus opciones de montaje, ya que administra los permisos automáticamente. Por esta razón, tanto para fstab como para autofs, debe usar las siguientes opciones de montaje:

-fstype=auto,rw

Instalar el contenedor Nextcloud

Es hora de usar Docker. Como de costumbre, nos permite instalar y preparar el contenedor con 1 fila (copiar y pegar todo el siguiente comando):

docker run -d -p 8080:80 --name nextcloud --restart unless-stopped      -v /media/myUSB/nextcloud:/var/www/html      -v /media/myUSB/apps:/var/www/html/custom_apps      -v /media/myUSB/config:/var/www/html/config      -v /media/myUSB/data:/var/www/html/data      -v /media/myUSB/theme:/var/www/html/themes       nextcloud

este simple comando asignará todos los volúmenes principales en su llave USB e inicializará el contenedor Nextcloud. Tenga paciencia, porque los discos USB lentos requerirán un tiempo para preparar el contenedor. Podrá monitorear el proceso de instalación escribiendo:

docker logs nextcloud

o monitoreo simple aumentando el espacio del disco USB utilizado desde Nextcloud (en /media/usb0):

watch df -H

al final del proceso, se deberían haber utilizado unos 500 MB de espacio.

Iniciar sesión en NextCloud y última configuración

Una vez completada la inicialización, abra con su navegador la dirección http://<>:8080. Verá la siguiente página de inicio (en su idioma, dependiendo de la configuración de su navegador):

NextCloud ya trae con el contenedor docker una base de datos SQLlite, pero si desea utilizar una externa, puede configurarla haciendo clic en el enlace «Almacenamiento y base de datos»:

Complete el nombre de usuario y la contraseña que desea crear para su cuenta de administrador y haga clic en «Instalar».

Después de un tiempo para completar más configuraciones, la pantalla le mostrará una sugerencia para instalar las aplicaciones recomendadas:

Puede optar por instalarlos o simplemente usar el enlace «Cancelar» para continuar con nuestra instalación e instalarlos en un momento posterior. La siguiente pantalla le mostrará las principales características de NexCloud. Puede desplazarlos con las flechas laterales:

Finalmente, llegamos al tablero de NextCloud:

Como puede ver, ya tiene varios archivos precargados que puede probar.

Desde el usuario administrador, con el menú en la parte superior izquierda de la pantalla, puede agregar aplicaciones y usuarios para agregar su instalación de NextCloud con más funciones y/o más usuarios.