Proceso de actualización de GeoNode 3.x a 4.x

El propósito de este documento es detallar el proceso que implementaremos para actualizar GeoNode de la versión 3.x a la versión 4.x. Este documento se propone para asegurar que el proceso de actualización sea eficiente y comprensible para todos. Es importante señalar que esta guía es específicamente para una instalación de GeoNode que se ejecuta en Docker.

El objetivo de este documento es que todos comprendan los procesos y pasos necesarios para llevar a cabo la migración.

Tabla de contenidos

  • Procedimiento de migración

  • Posibles problemas

Procedimiento de migración de versión

1. Descargue la nueva versión

Con el siguiente comando, descargaremos la nueva versión de GeoNode desde la fuente oficial o el repositorio correspondiente:

https://github.com/GeoNode/geonode.git -b <branch-or-tag>

Nota: Reemplaza <branch-or-tag> con la rama o etiqueta apropiada para la versión que deseas instalar.

Se recomienda hacer esto en un directorio separado para mantener intacta la versión anterior en caso de necesidad.

  • Directorio de la versión anterior:

my/work/dir/geonode3
  • Directorio de la nueva versión:

my/work/dir/geonode4

2. Detener el GeoNodo actual

Ejecuta el siguiente comando en el directorio donde está desplegado el GeoNode actual para detener los contenedores Docker asociados:

docker compose down

3. Modifique el archivo GeoNode .env

Abra el archivo .env del nuevo GeoNode en un editor de texto:

nano .env

Ajusta las variables de entorno para que coincidan con la configuración de la versión anterior de GeoNode. Esto puede incluir variables relacionadas con la base de datos, URLs, puertos, etc.

4. Inicie los contenedores GeoNode

Una vez que hayas realizado los cambios necesarios en el archivo .env, ejecuta el siguiente comando para iniciar los contenedores de GeoNode en la nueva versión:

docker compose up -d

Posibles problemas

La actualización de versión de GeoNode también implica cambios en algunos de sus componentes, lo que puede generar varios problemas. A continuación, enumeramos algunos problemas comunes y sus posibles soluciones:

Contenedor PostgreSQL en reinicio constante

Registros:

2024-02-21 18:06:14.056 UTC [1] FATAL:  database files are incompatible with server

2024-02-21 18:06:14.056 UTC [1] DETAIL:  The data directory was initialized by PostgreSQL version 13, which is not compatible with this version 15.4.</strong>

Causa: La versión de PostgreSQL del GeoNode original era inferior a la actual.

Solución: Baja la versión de PostgreSQL para que coincida con la versión previamente instalada en el archivo docker-compose.yml de GeoNode.

Contenedor Nginx en reinicio constante

Registros:

2024/02/21 18:11:49 [emerg] 1#1: host not found in "$HTTP_PORT" of the "listen" directive in /etc/nginx/nginx.conf:25

nginx: [emerg] host not found in "$HTTP_PORT" of the "listen" directive in /etc/nginx/nginx.conf:25

Causa: Nginx tiene problemas para reemplazar las variables de puerto del archivo nginx.conf.envsubst.

Solución: Reemplaza manualmente esas variables con los puertos correspondientes una vez en el archivo nginx.conf.envsubst. Después de esto, Nginx debería funcionar correctamente y reemplazar las variables normalmente en el futuro.