Manual/Referencia

Despliegue

Meratyn se distribuye como una única base de código React desplegada de tres maneras — navegador, escritorio y Jupyter — además de una consola de gestión y servicios de capas alojadas para organizaciones que ejecutan un despliegue compartido. Esta página cubre cómo se compila y sirve cada artefacto; Mantenimiento de compilación y plataforma cubre cómo mantenerlos sanos con el tiempo.

Artefactos de un vistazo

PlataformaCompilaciónSalidaServido por
Navegadorbun run buildArchivos estáticos en apps/mappview/dist/Cualquier host estático; el repo incluye imágenes nginx
Escritoriobun run tauri:buildInstaladores por SO bajo apps/mappview/src-tauri/target/release/bundle/Instalado directamente en la máquina del usuario
Jupyterbun run build:embedUn wheel que incluye la build web (python/)pip install en cualquier entorno de Jupyter
Consola de gestióndocker/Dockerfile.adminImagen de contenedorDocker/Kubernetes, véase Autoalojar la consola de gestión

La build web es completamente estática: Bun compila la aplicación y cualquier servidor de archivos estáticos sirve. El Dockerfile raíz compila la aplicación con Bun y la sirve desde nginx. Habilita el proxy de mismo origen /sidecar, de modo que el sidecar Python opcional se puede alcanzar sin configuración CORS; confínalo con MAPPVIEW_CONVERSION_ROOTS (por defecto /data).

El comportamiento de compilación se configura con variables VITE_ (por ejemplo VITE_MAPPVIEW_VIEWER_URL, VITE_MAPILLARY_GRAPH_ENDPOINT). La etapa de compilación de Docker las expone como ARG con valores por defecto de desarrollo local; sobrescríbelas para tu despliegue. Las credenciales nunca se incluyen en la build: véase Frontera del artefacto redistribuible.

El Dockerfile también compila el sitio JupyterLite autoalojado que usa el panel de Notebook; la compilación falla en lugar de servir silenciosamente un fallback si ese sitio estático está ausente.

Para publicar en el VPS de producción, bun run deploy:mapptech compila el commit actual exacto en un tarball. La estrategia local compila el host de TanStack Start (docker/Dockerfile.viewer-host), empaqueta su runtime SSR y el host remoto arma docker/Dockerfile.viewer-local alrededor de ese artefacto. La estrategia de servidor compila el mismo host directamente en el servidor de despliegue. Ambas rutas mantienen / como editor y resuelven /<slug-publicado> mediante el servicio de publicaciones, con /healthz disponible para las comprobaciones del servicio. Valida las rutas publicadas con la configuración showcase de Playwright (SHOWCASE_VIEWER_URL y SHOWCASE_ADMIN_URL); un HTTP 200 por sí solo todavía puede ser el fallback SPA del editor.

Escritorio

bun run tauri:build

Tauri v2 produce instaladores por plataforma (MSI/NSIS en Windows, DMG en macOS, deb/AppImage en Linux) bajo apps/mappview/src-tauri/target/release/bundle/. El bundle incluye el sidecar Python (services/server) como recurso; al arrancar el shell lo inicia con uv run --frozen, razón por la cual services/server/uv.lock está versionado y debe mantenerse sincronizado.

Canales adicionales de Windows viven bajo packaging/: un paquete MSIX (bun run msix:build), una build portable (bun run portable:build) y manifiestos winget.

Las particularidades de Linux — la gestión WebKitGTK/NVIDIA y el fallback sin AVX — se aplican automáticamente al arrancar y están documentadas en Gestión WebKitGTK/NVIDIA en Linux. bun run tauri:build:native-duckdb compila una variante que usa la librería nativa de DuckDB en lugar de WASM.

Jupyter

bun run build:embed

Esto produce apps/mappview/dist-embed, que python/hatch_build.py empaqueta en el wheel de meratyn junto con el anywidget. La build ejecuta el escaneo de credenciales sobre la app incluida antes de publicar. Los usuarios instalan el wheel con pip install meratyn y obtienen la interfaz completa dentro de una celda de notebook. La versión del paquete se toma dinámicamente de python/src/mappview/__init__.py.

Consola de gestión y servicios

docker/Dockerfile.admin compila la consola de gestión (apps/admin) y su servicio Bun (services/admin) en una sola imagen. La configuración llega por variables de entorno (ADMIN_LOCAL_TOKEN, CLERK_PUBLISHABLE_KEY, URLs VITE_MAPPVIEW_*). Los servicios complementarios — el puente GeoNode y el servicio de tiles edge — tienen sus propios Dockerfiles bajo services/.

Las instrucciones de autoalojamiento paso a paso están en Autoalojar la consola de gestión. Para un despliegue de producción en AWS con la app web en un host estático, véase Desplegar en AWS.

Capas alojadas

Operar la infraestructura de capas alojadas (GeoNode, servicio de tiles, conexión del visor) está documentado aparte: véase Desplegar capas alojadas.

Sitio de documentación

La aplicación Astro de documentación (este sitio) se compila con bun run build:docs. El workflow de CI del sitio la compila en cada push a main y publica la salida estática; docker/Dockerfile.docs está disponible para autoalojamiento. El contenido vive en docs/ en la raíz del repositorio, con el espejo en español bajo docs/es/.