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
| Plataforma | Compilación | Salida | Servido por |
|---|---|---|---|
| Navegador | bun run build | Archivos estáticos en apps/mappview/dist/ | Cualquier host estático; el repo incluye imágenes nginx |
| Escritorio | bun run tauri:build | Instaladores por SO bajo apps/mappview/src-tauri/target/release/bundle/ | Instalado directamente en la máquina del usuario |
| Jupyter | bun run build:embed | Un wheel que incluye la build web (python/) | pip install en cualquier entorno de Jupyter |
| Consola de gestión | docker/Dockerfile.admin | Imagen de contenedor | Docker/Kubernetes, véase Autoalojar la consola de gestión |
Navegador
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/.