Saltar a contenido

NEXTCLOUD con DOCKER

  • NextCloud Hace referencia al conjunto de herramientas software de código abierto con arquitectura cliente-servidor, que permiten la creación de servicios de alojamiento de archivos en servidores privados.
  • Puede desempeñar un papel significativo en la integración de sistemas operativos al actuar como una plataforma de colaboración y gestión de archivos que opera de manera uniforme en entornos mixtos. Aquí tienes su relevancia en este contexto:

1. Plataforma Multiplataforma

  • Nextcloud funciona en LinuxWindows y macOS, además de tener clientes para dispositivos móviles como Android e iOS.
  • Facilita el acceso centralizado a archivos y servicios desde cualquier sistema operativo, eliminando barreras de compatibilidad.

2. Interoperabilidad de Archivos

  • Proporciona acceso a sistemas de archivos compartidos a través de protocolos como WebDAV, compatible con la mayoría de los sistemas operativos.
  • Se integra con servicios como Samba o NFS, permitiendo que los recursos compartidos en redes Windows o Linux se gestionen directamente desde Nextcloud.

Nota

WebDAV es un grupo de trabajo del Internet Engineering Task Force (IETF). El término significa "Autoría y versionado distribuidos por Web" (Web Distributed Authoring and Versioning), y se refiere al protocolo (más precisamente, a la extensión del protocolo) que el grupo definió. Este protocolo proporciona funcionalidades para crear, cambiar y mover documentos en un servidor remoto (típicamente un servidor web).


3. Extensibilidad mediante Aplicaciones

  • Las aplicaciones de Nextcloud permiten integrar otros servicios, como editores de documentos (OnlyOffice o Collabora), que operan de manera nativa en cualquier SO con un navegador.
  • A través de complementos, puede interactuar con herramientas como LDAP o Active Directory, facilitando la autenticación unificada entre distintos sistemas.

4. Sincronización Multidispositivo

  • Permite la sincronización bidireccional de archivos entre sistemas operativos distintos, ya sean servidores, escritorios o móviles, manteniendo todo actualizado.
  • Ideal para entornos donde los usuarios trabajan con diferentes SOs, como Windows en oficinas y Linux en servidores.

Instalación contenedor NextCloud sin volumen persistente.

La instalación del contenedor se puede consultar en Imagen oficial NextCloud Docker Hub

  1. Se instala y ejecuta el contenedor:
  • Código para la instalación NextCloud:
docker run -d -p 8080:80 nextcloud
  • Resultado:
Instalación y ejecución del contenedor de NextCloud
  1. Comprobación de instalación correcta del contenedor NextCloud:
  • Se introduce en un navegador http://"IPmáquinaVirtual":8080 debe aparecer el inicio de NextCloud para crear una cuenta de administrador, como se muestra en la siguiente figura:

Warning

La guía está realizada en el supuesto que la MV de Ubuntu server estuviera configurada en Adaptador puente, como en nuestro caso va estar configurada en Red NAT, tendremos que configurar el reenvió de puertos necesario para poder acceder a la aplicación.

Instalación de NextCloud
  • Probamos a subir un archivo para ver donde se guardan:
Subir archivo NextCloud
  • Se comprueba en el GUI de NextCloud que esta subido:
Comprobación subido el archivo en el GUI de NextCloud
  • Se comprueba en el bash del contenedor de NextCloud que esta subido:
Comprobación subido el archivo en el contenedor de NextCloud
  • Si borramos el contenedor y lo volvemos a crear se comprueba que se ha perdido el fichero:
Borrado del contenedor
Comprobación del fichero borrado

Instalación contenedor NextCloud con volumen persistente y red interna

  • Siguiendo los apuntes en el punto 3 se describen los volúmenes y la importancia de los mismos para salvaguardar los datos si el contenedor se corrompe, o incluso utilizarlo para un segundo contenedor de docker. El ejemplo 3.3 es una buena guía para realizar este punto.

  • Por lo tanto el código a ejecutar para que el volumen se llame "volNextCloud" podría ser:

sudo docker run -d --name nextcloud --ip 192.168.20.2 --mount type=volume,source=volNextCloud,target=/var/www/html/data -p 80:80 nextcloud
Creación NextCloud con Persistent Data y red interna

Comprobación NextCloud con volumen persistente

  1. Se sube un fichero como el caso anterior.
Subimos fichero
  1. Se comprueba que esta en el contenedor.
El archivo existe en el path del volumen
  1. Se borra el contenedor, se crea uno nuevo apuntando al volumen y se comprueba que el fichero perdura.
Comprobación fichero existe, después de borrar contenedor y volver a crear uno nuevo

Network

  • Se observa en el código del apartado anterior en el mismo comando se ha estado introduciendo la IP del enunciado. Para que dicha IP se refleje en el contenedor además debe existir una red creada previamente y apuntar a ella. en los siguientes pasos se muestra.
  1. Crear red:
sudo docker network create --driver=bridge --subnet=192.168.20.0/24 nextCloudNet
  1. Referenciamos contenedor a la red creada.
sudo docker run -d --name nextcloud --network nextCloudNet --ip 192.168.20.2 --mount type=volume,source=volNextCloud,target=/var/www/html/data -p 80:80 nextcloud
  1. Confirmamos la IP.
docker inspect -f '{{range.NetworkSettings.Networks}} {{.IPAddress}}{{end}}' CONTAINER_ID

Comprobación IP

  • En la siguiente figura se muestra la comprobación de la red y la IP del contenedor:
Contenedor en la IP del enunciado