Operación
Una vez publicado, el portal necesita algunas tareas periódicas de mantenimiento: revisar los registros cuando algo no funciona, aplicar cambios de configuración, actualizar las extensiones y resguardar la información. Todos los comandos de esta página se ejecutan desde la carpeta del repositorio en el servidor.
Consultar los registros
Sección titulada «Consultar los registros»Cada contenedor guarda su propio registro, y lo habitual es empezar por el de la aplicación web cuando el portal muestra un error, o por el de ckan-worker cuando el problema está en el harvesting:
docker compose logs -f ckan # aplicación webdocker compose logs -f ckan-worker # harvesting y tareas programadasdocker compose logs --since 1h nginx # accesos de la última horaAplicar un cambio en el .env
Sección titulada «Aplicar un cambio en el .env»Después de modificar el archivo de configuración hay que recrear los contenedores con este comando:
docker compose up -ddocker compose restart no aplica los cambios del .env
Ese comando reinicia los contenedores conservando las variables con las que fueron creados, de modo que el portal sigue funcionando con la configuración anterior aunque el archivo ya esté modificado. Para confirmar qué valor está usando un contenedor se puede ejecutar, por ejemplo, docker compose exec ckan printenv CKAN_SITE_URL.
Actualizar las extensiones
Sección titulada «Actualizar las extensiones»Las extensiones se descargan de GitHub cada vez que se construye la imagen, por lo que para obtener sus últimas versiones hay que actualizar el repositorio y reconstruir sin usar la caché:
git pulldocker compose build --no-cache ckan ckan-workerdocker compose up -dAlgunas extensiones tienen versión fija y otras no
ckanext-spatial y ckanext-dcat están fijadas en las versiones 2.3.1 y 2.4.2, mientras que las extensiones de Datos Argentina se instalan desde su rama principal, de modo que cada reconstrucción incorpora sus últimos cambios. Queda a validar la conveniencia de fijarlas también a una versión, para que dos construcciones hechas en fechas distintas den exactamente el mismo resultado.
Reindexar la búsqueda
Sección titulada «Reindexar la búsqueda»Cuando un dataset existe y se abre desde su dirección pero no aparece en el buscador, el índice de Solr quedó desactualizado y hay que reconstruirlo:
docker compose exec ckan ckan search-index rebuildEn portales con muchos datasets el proceso puede demorar. Si se agrega la opción -o, solo se indexan los datasets que faltan en el índice, lo que resulta bastante más rápido.
Copias de seguridad
Sección titulada «Copias de seguridad»La información del portal está repartida en tres lugares, y cada uno se resguarda de una manera distinta:
| Qué | Dónde está | Cómo se resguarda |
|---|---|---|
| Base de CKAN y datastore | Volumen pg_data | Con el script backup-db.sh |
| Archivos subidos al portal | Volumen ckan_storage | Con una copia del volumen, como se muestra abajo |
| Configuración | Archivo .env | Guardando una copia fuera del servidor, en un lugar seguro, porque contiene claves |
El índice de Solr no necesita copia, porque se puede reconstruir en cualquier momento a partir de la base de datos. Para copiar el volumen de archivos se puede usar este comando:
docker run --rm -v portal-andino-v2_ckan_storage:/datos -v "$PWD/backups":/destino \ alpine tar czf /destino/ckan_storage-$(date +%Y%m%d).tar.gz -C /datos .Borrar la instalación
Sección titulada «Borrar la instalación»Este comando elimina los contenedores junto con todos sus volúmenes, es decir, la base de datos, los archivos subidos y el índice de búsqueda:
docker compose down -v --remove-orphans