Desplegar capas alojadas
Meratyn incluye un perfil de Docker Compose para una pila headless de GeoNode 5.1 y GeoServer 2.28. Meratyn sigue siendo la aplicación de gestión; la interfaz web de GeoNode es infraestructura, no un flujo de usuario incrustado.
Pila local
Copie .env.example a .env, reemplace todas las contraseñas de capas alojadas y ejecute:
docker compose -f docker/compose/admin.yaml --profile hosted-layers up --build -d
docker compose -f docker/compose/admin.yaml --profile hosted-layers ps
La inicialización inicial de GeoNode puede tardar varios minutos. Share está disponible
en https://admin.mappview.mapptech.com.co, el visor de Meratyn en https://mappview.mapptech.com.co, y
el proxy diagnóstico opcional de GeoNode limitado a loopback en
http://localhost:8081. Los usuarios deberían trabajar en Share en /layers; el puerto
diagnóstico existe para administradores e investigación de salud.
GeoServer se vincula a 127.0.0.1:18081 solo para la ruta nginx del host. Instale
scripts/deploy/nginx/admin.mappview.mapptech.com.co.conf en el host
de producción y recargue nginx antes de desplegar la pila. La ruta expone el tráfico OGC y
GeoWebCache mientras rechaza las rutas de administración de GeoServer. GeoServer
forma parte del lote normal de despliegue del servicio de código, de modo que el mapeo loopback se aplica
antes de que corra la verificación de salud WMS.
El registro de plugins se compila y sirve mediante el servicio Compose plugins en
127.0.0.1:8789. Instale
scripts/deploy/nginx/plugins.mappview.mapptech.com.co.conf en el host
de producción para que el origen público de plugins haga proxy a ese contenedor; no mantenga un
segundo registro generado bajo /var/www.
Detener sin borrar datos:
docker compose -f docker/compose/admin.yaml --profile hosted-layers down
Los volúmenes con nombre conservan los objetos de gestión, las bases de datos PostgreSQL, los datos de
GeoServer, los datos estáticos/multimedia de GeoNode y el estado de Redis. Añadir --volumes elimina
intencionalmente el entorno local y no es recuperable salvo que esos volúmenes hayan sido
respaldados.
Servicios
| Servicio | Rol |
|---|---|
admin | API del producto, proyección del catálogo, políticas e interfaz de gestión |
geonode-django | Metadatos de GeoNode y API de ingesta |
geonode-celery | Importaciones asíncronas y trabajos de proveedores |
geoserver | Publicación OGC y de tiles |
geonode-db | Bases de datos PostGIS espacial y de GeoNode |
geonode-redis | Broker y resultados de Celery |
geonode-memcached | Caché de GeoNode |
geoserver-data | Inicializa el directorio de datos de GeoServer |
geonode-proxy | Proxy nginx/estático de GeoNode; exposición diagnóstica localmente |
Las versiones de imagen coinciden con la familia oficial de despliegue de GeoNode 5.1 y están
fijadas en docker/compose/admin.yaml. Actualice las imágenes de GeoNode, GeoServer, del directorio de
datos, de nginx y de PostGIS como una única pila probada.
geoserver-data copia el directorio de datos de GeoServer de GeoNode en su volumen con nombre
en el primer arranque y permanece en ejecución después de ello. GeoServer espera el
healthcheck de su global.xml antes de arrancar.
Configuración
Las variables importantes de Share/proveedor son:
| Variable | Propósito |
|---|---|
GEONODE_API_URL | Origen Django interno usado por Share |
GEONODE_PUBLIC_URL | Origen canónico del proxy usado al generar enlaces públicos |
GEONODE_PUBLIC_HOST | Host y puerto anunciados por el servicio de publicación |
GEONODE_HTTP_SCHEME | Esquema público http o https |
GEONODE_ADMIN_USERNAME | Cuenta de servicio usada por el adaptador |
GEONODE_ADMIN_PASSWORD | Secreto de la cuenta de servicio |
GEONODE_OAUTH2_CLIENT_ID | Identificador de cliente OAuth2 usado por la pila de servicio estándar |
GEONODE_OAUTH2_CLIENT_SECRET | Secreto de cliente OAuth2; reemplace el valor de desarrollo |
GEONODE_REQUEST_TIMEOUT_MS | Tiempo límite de peticiones del proveedor |
MAX_LAYER_BYTES | Tamaño máximo de subida local aceptado por el servicio de desarrollo |
LAYER_ACCESS_TTL_SECONDS | Duración de la sesión de acceso a activos directos, 60–3600 segundos |
El archivo Compose también proporciona base de datos, servidor de mapas, broker, sitio, host,
administrador, y las rutas de montaje STATIC_ROOT y MEDIA_ROOT requeridas por la imagen estándar.
Los valores de .env.example son marcadores de desarrollo, no
credenciales de producción.
Reglas de producción
- Termine TLS en un único proxy inverso público y exponga Share como el origen del producto.
- No publique Django, la administración de GeoServer, PostGIS, Redis ni memcached.
- Prefiera una cuenta de servicio GeoNode dedicada con mínimos privilegios sobre el administrador de arranque una vez que los permisos requeridos sean conocidos.
- Guarde las credenciales como secrets de plataforma en lugar de valores de entorno de Compose.
- Use almacenamiento compatible con S3 y subidas multipart reanudables para conjuntos de datos grandes.
- Establezca límites explícitos de peticiones, archivos, ingesta y recursos de GeoServer.
- Respalde el estado de Share, el almacén de objetos, ambas bases de datos PostGIS y los datos de GeoServer en un calendario coordinado, y pruebe la restauración.
- Monitoree los trabajos de importación fallidos, las colas de Celery, la reconciliación de proveedores, la capacidad de bases de datos, el almacenamiento de activos y la latencia de tiles/OGC.
GeoNode y GeoServer son servicios de aplicación con estado. Una actualización de producción requiere revisión de notas de versión, respaldo de bases de datos, ensayo de migración y un plan de reversión; cambiar solo la etiqueta de una imagen no es un procedimiento de actualización seguro.