Saltar al pie de página
USANDO IRONSECUREDOC

Nextcloud Docker Compose (Cómo funciona para desarrolladores)

¿Qué es Docker?

Docker es un framework gratuito y de código abierto que automatiza la implementación y escalado de aplicaciones dentro de contenedores ligeros. Paquetea el código de la aplicación junto con todas las dependencias, como bibliotecas, herramientas y configuraciones, en un solo paquete y se ejecuta uniformemente en cualquier entorno, ya sea la computadora portátil del desarrollador, el servidor de prueba o el servidor en la nube de producción real.

Los contenedores no son lo mismo que las máquinas virtuales tradicionales. Los contenedores comparten el núcleo del sistema operativo del sistema host, haciéndolos mucho más eficientes y rápidos de iniciar.

Esencialmente, Docker define una aplicación y su entorno a través de imágenes Docker, que son plantillas para la creación de contenedores. Las herramientas de orquestación incluyen Docker Compose para aplicaciones de múltiples contenedores, y Docker Hub es el repositorio central donde compartimos imágenes.

¿Qué es Nextcloud?

Nextcloud Docker Compose ilustra cómo usar contenedores Docker para proporcionar un entorno aislado, portátil y escalable para la aplicación de almacenamiento en la nube autogestionada Nextcloud. Esta popular solución admite el almacenamiento y compartición de archivos, calendarios, contactos y más, al mismo tiempo que permite un control total sobre los datos.

Simplifica la configuración porque dependencias como PHP y el servidor web están contenidas dentro de un único contenedor; Docker hace que la instalación y gestión de Nextcloud sea mucho más fácil. Esto también garantiza que todo funcione de manera idéntica en diferentes entornos, permitiendo implementaciones suaves en diferentes sistemas.

Ejecutar Nextcloud en Docker es fácil, modular y escalable. Por ejemplo, en una configuración de múltiples contenedores usando Docker Compose, se ejecutan contenedores separados para la base de datos de Nextcloud (por ejemplo, MySQL o MariaDB), el caché (por ejemplo, Redis) y la propia aplicación de Nextcloud. Esto añade flexibilidad, permitiendo una gestión y escalabilidad más fácil de las instancias de Nextcloud.

Características de Nextcloud

Nextcloud Docker ofrece facilidad de implementación y características de gestión con todas las características clave principales enumeradas a continuación:

  • Configuración Simplificada: Instalación fácil debido a la capacidad de Docker de incluir todas las dependencias, como PHP y servidores web, dentro de un único contenedor, facilitando una instalación y configuración sin complicaciones.
  • Portabilidad: Los contenedores Docker son portátiles a través de diferentes entornos y nodos, previniendo problemas de compatibilidad al mover su instancia de Nextcloud entre servidores o entornos en la nube.
  • Aislamiento: Los contenedores están aislados del sistema host y de otros contenedores, asegurando que las dependencias y configuraciones no choquen con otros servicios en la misma máquina.
  • Escalabilidad: Utilizando Docker Compose, puede escalar fácilmente Nextcloud al implementar contenedores adicionales para bases de datos, caché o servicios de balanceo de carga para lograr un rendimiento superior en entornos a gran escala.
  • Almacenamiento Persistente: Al montar volúmenes de almacenamiento externamente al contenedor, los datos persisten incluso después de reinicios o actualizaciones del contenedor.
  • Actualizaciones Fáciles: Actualice sin problemas Nextcloud o sus dependencias mediante Docker al descargar una nueva versión de la imagen y reiniciar el contenedor; no son necesarias migraciones confusas.
  • Seguridad: El aislamiento inherente de Docker minimiza la superficie de ataque al separar el entorno de Nextcloud de su host y otras aplicaciones.

Todas estas características hacen de Nextcloud Docker una solución eficiente para alojar su infraestructura de nube privada.

Instalar Nextcloud

Prerrequisitos

  • Windows 10/11 (Pro, Enterprise o Education) con soporte para WSL 2.
  • Docker Desktop está instalado y en ejecución en Windows.
  • Familiaridad básica con el uso de una terminal o símbolo del sistema.

Extraer la imagen Docker de Nextcloud

Obtenga la imagen oficial de Nextcloud Docker desde Docker Hub ejecutando el siguiente comando en su terminal:

docker pull nextcloud
docker pull nextcloud
SHELL

Alternativamente, abra la aplicación Docker y busque "nextcloud" en el cuadro de búsqueda.

Para ejecutar la instalación de Nextcloud, use el comando a continuación en el símbolo del sistema:

docker run -d -p 8080:80 nextcloud
docker run -d -p 8080:80 nextcloud
SHELL

Este comando descargará la imagen de Nextcloud y creará un nuevo contenedor, exponiéndolo en el puerto 8080.

Configurar MariaDB para la base de datos

Nextcloud requiere una base de datos para almacenar sus datos. Podemos usar MariaDB como un reemplazo directo para MySQL.

Primero, obtenga la imagen de MariaDB:

docker pull mariadb
docker pull mariadb
SHELL

Cree el contenedor de MariaDB usando este comando:

docker run -d \
  --name nextcloud-db \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud_user \
  -e MYSQL_PASSWORD=your_password \
  mariadb
docker run -d \
  --name nextcloud-db \
  -e MYSQL_ROOT_PASSWORD=your_root_password \
  -e MYSQL_DATABASE=nextcloud \
  -e MYSQL_USER=nextcloud_user \
  -e MYSQL_PASSWORD=your_password \
  mariadb
SHELL

Reemplace your_root_password y your_password con contraseñas seguras de su elección. Este comando configura un contenedor MariaDB llamado nextcloud-db con una base de datos llamada nextcloud y un usuario llamado nextcloud_user.

Interfaz web de Nextcloud

Acceda a la instalación de Nextcloud abriendo un navegador web e ingresando la dirección IP del servidor o el nombre de dominio donde se aloja Nextcloud. Para instalaciones locales, use:

http://localhost:8080/

Configurar la cuenta de administrador

Al acceder a la página de configuración, cree un usuario admin. El CLI de Nextcloud también está disponible para gestionar configuraciones y configuraciones si es necesario.

Después de ingresar la información requerida, configure la conexión a la base de datos:

  1. Host de la base de datos: Use localhost para bases de datos locales o el nombre del contenedor de la base de datos (por ejemplo, nextcloud-db) si utiliza Docker.
  2. Nombre de usuario y contraseña de la base de datos: Proporcionados durante la configuración de MariaDB.
  3. Nombre de la base de datos: nextcloud en este ejemplo.

Rellene todos los detalles necesarios y haga clic en "Finalizar Configuración" para completar la instalación.

¿Qué es IronSecureDoc?

IronSecureDoc es una herramienta de seguridad de documentos utilizada para encriptar, redactar y firmar digitalmente archivos sensibles. Protege archivos PDF, permitiendo a los usuarios controlar efectivamente los datos personales y la información confidencial.

Instalar y ejecutar IronSecureDoc

Obtener la imagen Docker de IronSecureDoc usando:

docker pull ironsoftwareofficial/ironsecuredoc
docker pull ironsoftwareofficial/ironsecuredoc
SHELL

Para ejecutar el contenedor de IronSecureDoc, use:

docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
docker container run --rm -p 8080:8080 \
  -e IronSecureDoc_LicenseKey=<IRONSECUREDOC_LICENSE_KEY> \
  -e ENVIRONMENT=Development \
  -e HTTP_PORTS=8080 \
  ironsoftwareofficial/ironsecuredoc:latest
SHELL

Reemplace <IRONSECUREDOC_LICENSE_KEY> con su clave de licencia real. Este comando inicia el contenedor de IronSecureDoc, exponiéndolo en el puerto 8080.

Uso de IronSecureDoc con un contenedor Docker

Se puede acceder a IronSecureDoc a través de su API REST después de la instalación. La documentación y los endpoints de la API se pueden encontrar en http://localhost:8080/swagger/index.html.

Para enviar un documento para encriptación, use una solicitud POST a través de curl:

curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
curl -X 'POST' \
  'http://localhost:8080/v1/document-services/pdfs/encrypt?user_password=demo' \
  -H 'accept: */*' \
  -H 'Content-Type: multipart/form-data' \
  -F 'pdf_file=@test.pdf;type=application/pdf'
SHELL

Esto envía el documento a IronSecureDoc, aplicando la encriptación correspondiente.

Conclusión

Nextcloud e IronSecureDoc cumplen funciones diferentes en el manejo seguro de datos. Nextcloud es una plataforma robusta de nube autogestionada para gestionar y compartir datos, ofreciendo control total de privacidad y escalabilidad a través de Docker. IronSecureDoc proporciona una encriptación avanzada de documentos, asegurando el manejo seguro de archivos sensibles. Integrarse con Docker hace que ambas soluciones sean adecuadas para entornos seguros y escalables.

Haga clic aquí para obtener más información sobre las licencias de IronSecureDoc. Para obtener más información sobre las líneas de productos ofrecidas por Iron Software, consulte aquí.

Preguntas Frecuentes

¿Cómo puede Docker Compose simplificar la implementación de Nextcloud?

Docker Compose te permite orquestar aplicaciones con múltiples contenedores, lo que simplifica la implementación de Nextcloud al empaquetar todas sus dependencias en contenedores aislados, portátiles y escalables.

¿Cuáles son las ventajas de usar Docker para Nextcloud?

Usar Docker para Nextcloud ofrece ventajas como configuración simplificada, portabilidad mejorada, aislamiento, escalabilidad, almacenamiento persistente, actualizaciones fáciles y seguridad mejorada.

¿Cómo configuras Nextcloud usando Docker?

Puedes configurar Nextcloud usando Docker extrayendo la imagen Docker oficial de Nextcloud con el comando docker pull nextcloud y ejecutándola con docker run -d -p 8080:80 nextcloud.

¿Qué componentes están involucrados en una configuración Docker para Nextcloud?

Una configuración Docker para Nextcloud generalmente involucra contenedores separados para la aplicación misma, una base de datos y servicios de caching, cada uno gestionado con Docker Compose para asegurar modularidad y escalabilidad.

¿Cómo mejora IronSecureDoc la seguridad de los datos para Nextcloud?

IronSecureDoc mejora la seguridad de los datos para Nextcloud proporcionando capacidades avanzadas de cifrado de documentos, redacción y firma digital, asegurando que los archivos sensibles se manejen de manera segura dentro del entorno Docker.

¿Puede IronSecureDoc integrarse con Docker para la implementación de Nextcloud?

Sí, IronSecureDoc puede integrarse con Docker para mejorar la implementación de Nextcloud usando su imagen Docker. Esta integración permite un manejo seguro de documentos a través de su API REST dentro del entorno dockerizado.

¿Por qué elegir una solución auto hospedada como Nextcloud sobre proveedores en la nube?

Elegir una solución auto hospedada como Nextcloud sobre proveedores en la nube ofrece control total sobre la privacidad, soberanía de los datos y la capacidad de personalizar el entorno según las necesidades específicas de la organización mientras se aprovecha Docker para una implementación eficiente.

¿Cuál es el papel de Docker para asegurar el rendimiento de Nextcloud en diferentes entornos?

Docker asegura el rendimiento consistente de Nextcloud en diferentes entornos encapsulando la aplicación y todas sus dependencias en un único contenedor, lo que previene conflictos y simplifica el proceso de implementación.

¿Cómo trabajan juntos Docker y Nextcloud para proporcionar una solución de almacenamiento en la nube escalable?

Docker y Nextcloud trabajan juntos utilizando contenedores para gestionar y escalar la aplicación eficientemente, permitiendo la adición fácil de recursos y servicios a medida que la demanda crece, todo mientras se mantiene la integridad y seguridad de los datos.

Curtis Chau
Escritor Técnico

Curtis Chau tiene una licenciatura en Ciencias de la Computación (Carleton University) y se especializa en el desarrollo front-end con experiencia en Node.js, TypeScript, JavaScript y React. Apasionado por crear interfaces de usuario intuitivas y estéticamente agradables, disfruta trabajando con frameworks modernos y creando manuales bien ...

Leer más