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 Linux, Windows 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
- Se instala y ejecuta el contenedor:
- Código para la instalación NextCloud:
docker run -d -p 8080:80 nextcloud
- Resultado:
- 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.
- Probamos a subir un archivo para ver donde se guardan:
- Se comprueba en el GUI de NextCloud que esta subido:
- Se comprueba en el bash del contenedor de NextCloud que esta subido:
- Si borramos el contenedor y lo volvemos a crear se comprueba que se ha perdido el fichero:
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
Comprobación NextCloud con volumen persistente¶
- Se sube un fichero como el caso anterior.
- Se comprueba que esta en el contenedor.
- Se borra el contenedor, se crea uno nuevo apuntando al volumen y se comprueba que el fichero perdura.
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.
- Crear red:
sudo docker network create --driver=bridge --subnet=192.168.20.0/24 nextCloudNet
- 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
- 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: