GNU/Linux >> Tutoriales Linux >  >> Panels >> Docker

Diez consejos fáciles de seguir para administrar una instancia de Nextcloud autohospedada con Docker

Nextcloud no necesita presentación. Es el software de código abierto más popular para el autohospedaje de una suite de colaboración que le brinda acceso a la colaboración de documentos, alojamiento de archivos, tableros de administración de proyectos y servicio de chat.

Hemos estado usando Nextcloud para administrar las actividades de nuestro equipo en el Manual de Linux y es FOSS. Alojamos nuestra instancia de Nextcloud con el contenedor Docker. Esta experiencia de alojamiento propio nos ha enseñado varias lecciones importantes y las voy a compartir con ustedes. Esto te ayudará si eres un administrador diario de Nextcloud.

Supongo que usa Docker para implementar Nextcloud. La mayoría de los consejos se centran en eso, mientras que algunos son consejos genéricos que son válidos para todo tipo de implementaciones de Nextcloud.

1. Use el comando occ en Nextcloud con Docker

El comando occ se origina en ownCloud, que es una abreviatura de "ownCloud Console" que se utiliza principalmente para mantenimiento, diagnóstico y reparaciones. Dado que Nextcloud es una bifurcación del código base ownCloud 2016, occ El diseño de es muy similar.

Para los administradores de Nextcloud, el conocimiento sobre su uso puede ser extremadamente conveniente para las actividades de mantenimiento, por lo que el manual de referencia es muy útil.

Sin embargo, en Docker, la sintaxis específica sobre cómo usarlo es bastante diferente y más larga:

docker exec -u www-data -it nextcloud php occ <command>

Aquí, está utilizando docker exec con www-data como usuario nextcloud es el nombre del contenedor Nextcloud Docker y php se está utilizando para ejecutar el occ comando desde dentro del contenedor.

2. No actualice Nextcloud justo después de una nueva versión

Un nuevo lanzamiento de Nextcloud puede ser muy tentador. Pero se ha observado muchas veces que ir inmediatamente a una actualización puede hacer que Nextcloud quede completamente inutilizable.

Recomiendo esperar a que se publique al menos el primer parche. Por ejemplo, actualizar 20.0.6 a 21.0.0 puede ser una experiencia arriesgada. NO se recomienda una actualización directa de xx.0.x a xy.0.0. En cambio, un mejor enfoque sería al menos esperar a la versión xy.0.1.

3. Priorice la seguridad y las correcciones de errores sobre las funciones cada vez que actualice Nextcloud

Es fácil sentirse tentado por una nueva función disponible solo en una versión recién lanzada. Asegúrese de que la actualización no sea a costa de un rendimiento reducido o una funcionalidad deteriorada. Podría relacionarse con Nextcloud en su totalidad o con una aplicación específica de Nextcloud que puede afectar seriamente su productividad.

4. Aspectos a tener en cuenta antes de actualizar su instancia de Nextcloud

Consulte minuciosamente el foro oficial y el repositorio de GitHub para conocer los problemas más recientes cada vez que esté pensando en actualizar. Por desafortunado que se esté notando en estos días, es muy común hoy en día que un problema haya hecho que la interfaz de Nextcloud sea extremadamente lenta.

Por lo tanto, asegúrese de poder replicar el escenario en un servidor clonado y su solución antes de hacerlo en un servidor de producción. Ponga la actualización en espera si degrada la funcionalidad.

5. Siempre haga una copia de seguridad de la base de datos y del volumen de Nextcloud antes de una actualización

En el nivel del sistema host, nunca puede usar los mismos archivos en un Nextcloud actualizado con una versión anterior. Por lo tanto, siempre cree una copia de seguridad de su Nextcloud y su volumen de base de datos correspondiente antes de realizar la actualización. El enfoque es el mismo que expuse para Ghost en una publicación anterior.

7 consejos útiles para autohospedar un blog de Ghost con DockerUna lista de verificación útil que puede evitar que ocurran muchos problemas de mantenimiento recurrentes en su instancia de Ghost Docker después de implementarla. Manual de LinuxAvimanyu Bandyopadhyay

6. Esté atento regularmente a la sección "Descripción general" dentro de la configuración de Nextcloud

¿Sabes que hay una sección de descripción general en Configuración? Esta sección le advierte sobre cualquier problema de seguridad y configuración.

Puede acceder a él yendo a la esquina superior derecha de su tablero y vaya a la configuración.

Verá la opción Resumen en la sección Administración.

Aquí es donde puede tener una idea sobre cualquier problema de rendimiento o seguridad en su Nextcloud a través de los informes relevantes en el tablero.

7. Garantice controles periódicos de seguridad

Nextcloud proporciona una herramienta web gratuita para verificar cualquier vulnerabilidad conocida en su servidor Nextcloud. Lo mejor aquí es que ni siquiera necesita instalar nada en su servidor. Simplemente ingrese la URL de su instancia.

De vez en cuando, se recomienda escanear la URL de su instancia para tener una idea sobre los parámetros de seguridad de su implementación de Nextcloud.

8. Vigila las aplicaciones que usas

Se sabe que muchas aplicaciones en Nextcloud han dejado completamente inutilizable toda la interfaz de Nextcloud. Esté atento a los foros y problemas de GitHub de las aplicaciones individuales que usa en su instancia de Nextcloud.

9. Clone su servidor de producción para probar actualizaciones

Si está utilizando un servidor en la nube como Linode, tiene la opción de clonar fácilmente todo su servidor.

Linodo | La nube abierta independiente para desarrolladores Nuestra misión es acelerar la innovación haciendo que la computación en la nube sea simple, asequible y accesible para todos. Linode

Este es un paso extremadamente útil para mantener el tiempo de inactividad (si lo hay) al mínimo absoluto siempre que esté pensando en actualizar su instancia de Nextcloud. También garantiza una copia de seguridad en vivo de su instancia de Nextcloud disponible a intervalos periódicos siempre que clone su servidor.

Una vez que se haya asegurado de que se trata de una actualización estable, siga supervisándola durante algún tiempo en el servidor clonado. Cuando esté absolutamente seguro de que es una transición estable, registre su experiencia a través de una documentación completa del proceso de actualización y los pasos que podría haber tomado para solucionar cualquier problema después de la actualización. Más tarde, puede continuar y replicar los mismos pasos en el servidor de producción siguiendo su propia documentación.

10. Busque problemas informados en los foros

Nextcloud generalmente proporciona un proceso paso a paso para resolver los problemas que informa en la configuración general. Si eso no es suficiente, puede copiar y pegar los problemas informados en "Problemas de GitHub" o en el foro de Nextcloud.

Existe una alta probabilidad de que el problema sea conocido y ya se haya proporcionado la solución. Sin esperar al próximo parche, puede probar la corrección primero en un servidor clonado y mitigarlo usted mismo.

Consejo adicional

En general, Nextcloud recomienda cambiar al modo de mantenimiento cuando se necesitan comandos específicos.

Por ejemplo, occ db:convert-filecache-bigint eso implica que se sugieran identificadores BigInt (64 bits) después de una actualización.

Pero preferiría cambiar siempre al modo de mantenimiento antes de ejecutar cualquier comando occ sugerido en la "Sección de sistema y seguridad".

Siguiendo con el comando de ejemplo mencionado en el punto 1, el comando correspondiente sería:

docker exec -u www-data -it nextcloud php occ maintenance:mode --on

Ahora ejecute el comando como se sugiere. Por ejemplo, suponga que observa este mensaje:

Some indices are missing in the database. Because adding indexes to large tables may take some time, they have not been added automatically. By executing "occ db: add-missing-indices", missing indexes can be added manually while the instance is running. Once the indexes have been added, queries to these tables are usually faster.

Aquí, la sugerencia es ejecutar occ db: add-missing-indices . Pero como se discutió en el punto 1, esta recomendación es insuficiente; especialmente si está ejecutando Nextcloud con Docker. Por lo tanto, el comando completo requerido aquí es:

docker exec -u www-data -it nextcloud php occ db: add-missing-indices

[email protected]:~$ docker exec -u www-data -it nextcloud php occ db:add-missing-indices
Check indices of the share table.
Check indices of the filecache table.
Check indices of the twofactor_providers table.
Check indices of the login_flow_v2 table.
Check indices of the whats_new table.
Check indices of the cards table.
Check indices of the cards_properties table.
Check indices of the calendarobjects_props table.
Adding calendarobject_calid_index index to the calendarobjects_props table, this can take some time...
calendarobjects_props table updated successfully.
Check indices of the schedulingobjects table.
Adding schedulobj_principuri_index index to the schedulingobjects table, this can take some time...
schedulingobjects table updated successfully.

Ahora apague el modo de mantenimiento:

docker exec -u www-data -it nextcloud php occ maintenance:mode --off

alimento para el pensamiento

Todos los 10 consejos anteriores son el resultado de experimentarlo en un sistema de producción en vivo durante más de un año. Durante este tiempo, el siguiente triángulo ha sido una guía muy importante para mí para mantener un delicado equilibrio entre seguridad, usabilidad y funcionalidad y correlacionarlo con la forma en que opera Nextcloud.

Esto se aplica a todos los sistemas de implementación y no solo a Nextcloud. Sin duda, estos son los pilares fundamentales de cualquier implementación basada en DevOps.

Cuando se trata de Nextcloud, siempre debe tener en cuenta la diferencia clave entre Nextcloud y Nextcloud Hub. Nextcloud en sí es principalmente un servicio de alojamiento de archivos, mientras que Nextcloud Hub es una plataforma de colaboración de contenido (un subconjunto de Nextcloud).

¿Cómo puede relacionar este escenario con la funcionalidad y la facilidad de uso? En la discusión anterior, mencioné Collabora Online, que es una parte de Nextcloud Hub que claramente se puede correlacionar con la facilidad de uso.

Si todo el Panel de control de Nextcloud se detiene debido a una versión recién lanzada de Collabora Online, su funcionalidad se vuelve completamente loco. Collabora Online se incluyó con Nextcloud Hub teniendo en cuenta la facilidad de uso de la gestión de documentos en línea. Pero si eso tiene el costo de ralentizar drásticamente toda la GUI y dejarla completamente inutilizable, ¡derrota por completo su propósito principal! Por lo tanto, siempre es muy necesario vigilar el mantenimiento de este delicado equilibrio entre funcionalidad y usabilidad (con un ojo cauteloso en la seguridad, por supuesto).

Cada aplicación es diferente y, por lo tanto, la forma en que calibre cada una de estas 3 métricas puede ser extremadamente crucial, dependiendo de cada caso.

Realmente espero que estos consejos y pensamientos lo ayuden a administrar su instancia de Nextcloud en el día a día, especialmente si es un administrador que administra un servicio de Nextcloud autohospedado con Docker. Si tiene algún comentario, sugerencia o un nuevo punto para compartir, hágalo en la sección a continuación.


Docker
  1. 3 consejos para imprimir con Linux

  2. 4 consejos para conectar a un familiar mayor con Linux

  3. 5 consejos para comenzar con la seguridad del servidor Linux

  4. Configurar Nextcloud con Redis usando Docker

  5. Implemente Nextcloud en Docker usando Ansible

5 consejos para configurar virtualenvs con Ansible Tower

Integre Collabora Online con Nextcloud en Ubuntu sin Docker

Cómo escanear imágenes de contenedores Docker en busca de vulnerabilidades con Trivy

Cómo ejecutar NGINX Inside Docker (para fácil escalado automático)

Cómo automatizar las auditorías de seguridad de Docker con Docker Bench for Security

Comandos de Docker para gestionar el ciclo de vida de los contenedores (guía definitiva)