Todo sobre Apple, Android, Juegos Apks y Sitios de Peliculas

Cómo autohospedar una nube colaborativa con Nextcloud y Docker

Nextcloud es una plataforma de colaboración e intercambio de archivos de código abierto para servicios rivales como Google Workplace y Microsoft 365. Nextcloud le permite alojar su propia nube colaborativa, por lo que no necesita encadenarse a un proveedor público.

La configuración de una instalación normal de Nextcloud puede llevar mucho tiempo. Nextcloud se basa en la pila LAMP clásica, entonces necesitarás Apache, PHP y MySQL, cada uno con sus propios requisitos previos. Esto puede dificultar el mantenimiento de la instalación o su uso junto con otras cargas de trabajo en su servidor.

Ejecutar Nextcloud como contenedor Docker simplifica el procedimiento de configuración y le permite aislar la instalación de sus otras aplicaciones. Nextcloud tiene una imagen oficial de Docker, en el que nos centraremos en este artículo. La comunidad proyecto de servidor linux También proporciona su propia imagen con algunos valores predeterminados preconfigurados.

Planificación de la instalación

La imagen de Nextcloud Docker viene con una configuración de servidor web en funcionamiento. Obtendrá Apache, PHP y una instalación de Nextcloud preconfigurada. De forma predeterminada se utiliza una base de datos SQLite.

Si bien es un básico

 docker run -d -p 80:80 nextcloud 

mostrará un servidor listo para ejecutar, esto no incluye la provisión para almacenamiento persistente. El aspecto más crítico de la implementación de Dockerized Nextcloud es la configuración correcta del volumen para no perder sus datos.

Además, la base de datos SQLite estándar es solo adecuado para uso a pequeña escala. Si va a tener más de un puñado de usuarios, aprovisionar una base de datos MySQL o PostgreSQL mejorará el rendimiento.

Ahora creemos una instalación Dockerizada de Nextcloud que se ejecute en MySQL y utilice volúmenes de Docker para conservar sus datos de forma segura. Si prefiere usar PostgreSQL, sustituya las referencias a MySQL a continuación con su PostgreSQL. homólogos.

Configuración

Puede implementar Nextcloud utilizando comandos básicos de Docker CLI. Sin embargo, esto rápidamente se vuelve tedioso, sin mencionar que es difícil de recordar en el futuro. En cambio, usar Docker Compose le permite definir su configuración como código.

Asegúrese de tener Docker y Docker Compose instalados en su sistema. Cree un nuevo directorio para contener sus archivos de configuración de Nextcloud. Agrega un

 docker-compose.yml 

archive y pegue el siguiente contenido:

version: "3"

services:

nextcloud:

image: nextcloud:latest

restart: unless-stopped

ports:

- 80:80

environment:

- MYSQL_HOST=mysql

- MYSQL_DATABASE=nextcloud

- MYSQL_USER=nextcloud

- MYSQL_PASSWORD=nextcloud

volumes:

- nextcloud:/var/www/html

mysql:

image: mysql:8.0

restart: unless-stopped

environment:

- MYSQL_DATABASE=nextcloud

- MYSQL_USER=nextcloud

- MYSQL_PASSWORD=nextcloud

- MYSQL_ROOT_PASSWORD=nextcloud

volumes:

- mysql:/var/lib/mysql

volumes:

mysql:

nextcloud:

Este archivo Compose encapsula toda la configuración para una instalación segura de Nextcloud. Aprovisiona una base de datos MySQL y configura Nextcloud para conectarse a ella. Deberías configurar

 MYSQL_PASSWORD 

y

 MYSQL_ROOT_PASSWORD 

para asegurar valores personalizados.

La totalidad

 /var/www/html 

El directorio está montado como un volumen Docker. Nextcloud almacena aquí su fuente, configuración y datos de usuario. Al convertir todo el directorio en un volumen, el actualizador automático de Nextcloud funcionará correctamente. De lo contrario, tendría que extraer una nueva imagen de contenedor para actualizar, ya que el actualizador automático no podría reemplazar persistentemente los archivos de Nextcloud.

El servidor Nextcloud se vinculará al puerto 80 de su máquina de forma predeterminada. Puede utilizar un puerto diferente, como

 8080 

actualizando el

 ports 

configuración:

 - 8080:80 

Ahora está listo para implementar Nextcloud con Docker Compose:

docker-compose up -d

Espere mientras Compose extrae las imágenes e inicia sus contenedores. Luego podrá acceder a Nextcloud visitando localhost en su navegador.

Primer intento

La primera vez que visite Nextcloud, se le mostrará el asistente de configuración predeterminado. Ingrese un nombre de usuario y contraseña para su primera cuenta de usuario. Si desea instalar algunas aplicaciones principales, incluido el calendario, los contactos y las llamadas de Nextcloud Talk, deje marcada la casilla “Instalar aplicaciones recomendadas”.

Haga clic en “Finalizar configuración” para completar el proceso de instalación. Es posible que transcurran unos momentos hasta que se instalen las aplicaciones. No cierres la pestaña de tu navegador hasta que se complete la configuración. Una vez que Nextcloud esté listo, se le mostrará un conjunto rápido de diapositivas de introducción. Luego serás llevado al panel de Nextcloud.

El panel le ofrece una vista centralizada de sus activos en la nube. Las aplicaciones individuales pueden mostrar contenido en el panel. Puede acceder a todas sus aplicaciones usando los íconos en la esquina superior izquierda.

Para instalar aplicaciones adicionales, haga clic en el icono de su perfil de usuario en la esquina superior derecha. Elija “Aplicaciones” en el menú. Haga clic en una de las categorías en la barra lateral izquierda para ver todas las aplicaciones disponibles. Presione “Descargar y habilitar” debajo de la tarjeta de cualquier aplicación para agregarla a su instancia de Nextcloud.

La configuración de administrador de Nextcloud se encuentra haciendo clic en el icono de su perfil de usuario y eligiendo “Configuración” en el menú. Haga clic en los enlaces debajo de “Administrador” en la barra lateral izquierda para encontrar funciones de administración. Su versión de Nextcloud y las actualizaciones disponibles se muestran en la página “Descripción general”.

Algunas tareas de administración de Nextcloud se invocan a través del binario de línea de comandos occ. Este es un script PHP dentro de la fuente de Nextcloud. Puede interactuar con OCC usando docker-compose exec sin conectarse completamente al contenedor:

docker-compose exec --user www-data php occ occ-command-here

Es importante incluir el indicador –user para que occ se ejecute como el mismo usuario que la interfaz web de Nextcloud. De lo contrario, podría encontrar errores de propiedad y permisos del sistema de archivos.

Configuración automatizada

Muchas de las configuraciones de administración de Nextcloud se pueden preestablecer cuando inicia el contenedor. Más allá de la configuración de la base de datos, la imagen admite variables de entorno para configurar un sistema de correo, conectarse a un almacenamiento de objetos remoto y crear automáticamente un usuario administrador inicial. Cuando proporcione estos valores, no será necesario que se los proporcione al asistente de configuración de primera ejecución.

Como alternativa a las variables de entorno, puede utilizar Secretos de Docker establecer valores de una manera más consciente de la seguridad. Agregue sus valores a los archivos y asígnelos al contenedor usando la clave secreta en Compose. Luego, actualice la sección de entorno para leer los archivos secretos inyectados.

services:

nextcloud:

environment:

- NEXTCLOUD_ADMIN_PASSWORD_FILE=/run/secrets/nextcloud_admin_password

secrets:

nextcloud_admin_password:

file: ./nextcloud_admin_password

Cuando usa secretos, cada variable de entorno de Nextcloud debe tener _FILE agregado a su nombre. Esto le indica a Nextcloud que obtenga el valor de la ruta del archivo referenciado.

Seguridad

La imagen estándar de Docker no configura SSL de forma predeterminada. Es recomendado que implementa detrás de un proxy inverso con terminación SSL, como Apache, Nginx o Traefik. Esto debería reenviar las solicitudes a su contenedor Nextcloud.

La imagen de Docker funciona automáticamente con solicitudes enviadas desde los espacios de direcciones 10.0.0.8/72, 172.16.0.0/12 y 192.168.0.0/16. Si su servidor proxy tiene una IP diferente, debe agregarla a la variable de entorno TRUSTED_PROXIES al implementar Nextcloud. También deberá configurar APACHE_DISABLE_REWRITE_IP=1.

Estos pasos garantizan que Nextcloud maneje las reescrituras correctamente. Las instrucciones de uso de la imagen de Docker incluyen más orientación sobre el uso de Nextcloud con un proxy. Puede comprobar si su instalación está instalada correctamente utilizando la página Descripción general en el centro de administración.

Administrar actualizaciones de Nextcloud

Cuando haya implementado Nextcloud con el archivo Compose anterior, debería poder usar el actualizador automático en el centro de administración para actualizar Nextcloud. Tenga en cuenta que esto solo le proporcionará la última fuente de Nextcloud; el contenedor subyacente seguirá siendo el mismo.

Es una buena idea extraer periódicamente una nueva imagen de Docker. Esto le ayuda a evitar la ejecución de paquetes de sistemas operativos obsoletos, lo que podría suponer un riesgo para la seguridad.

Si está utilizando Docker Compose, puede volver a ejecutar docker-compose up con el indicador –pull. Compose extraerá automáticamente la nueva imagen y reemplazará su contenedor actual si es necesario.

docker-compose up -d --pull

Conclusión

Ejecutar un servidor Nextcloud le brinda control total sobre sus archivos. Más allá del simple intercambio de archivos, Nextcloud también proporciona un ecosistema completo de aplicaciones de productividad. Encontrarás sistemas de correo electrónico, calendario, notas y tareas, así como una completa llamadas de voz y video solución.

La implementación de Nextcloud con Docker simplifica el procedimiento de configuración y evita contaminar su host con una pila LAMP básica. Una vez que Nextcloud esté instalado, podrá conectarse desde cualquiera de los clientes de sincronización móviles y de escritorio compatibles.

Solo hemos cubierto los conceptos básicos para poner en funcionamiento un servidor Nextcloud. Si desea obtener más información sobre la instalación de aplicaciones y el mantenimiento de su instalación, Nextcloud manual de administracion Proporciona instrucciones exhaustivas.