Pon tu instancia en un servidor siempre encendido, una computadora que funciona en un centro de datos las 24 horas, para que compañeros remotos puedan alcanzarla desde cualquier lugar, con tu propia dirección web y HTTPS gratuito (el candado que cifra la conexión). Esta guía usa el nivel siempre gratuito de Oracle Cloud, que puede ejecutar Map Blueprint sin coste mensual, pero los mismos pasos funcionan en cualquier servidor en la nube con Ubuntu.
https://maps.yourdomain.com, protegido por la contraseña de tu equipo y que se reinicia solo tras los reinicios del sistema. Calcula unos 20–30 minutos. Donde veas YOUR_… abajo, reemplázalo por tu propio valor.
¿Prefieres simplemente ejecutarlo en tu propio portátil? Consulta la guía de alojamiento local.
yourdomain.com); DNS es la guía de direcciones de internet que apunta un dominio a un servidor; HTTPS es la versión cifrada y con candado de una dirección web; un proxy inverso y un túnel son dos formas de poner HTTPS por delante de la app. No te preocupes, cada paso de abajo te dice exactamente qué hacer.
VM.Standard.E2.1.Micro o una forma Arm Ampere (que tiene más memoria). Mantén la imagen Ubuntu por defecto, Ubuntu es la versión de Linux que usa esta guía.YOUR_SERVER_IP.Un firewall bloquea conexiones de red inesperadas. Oracle bloquea el tráfico web entrante por defecto, así que necesitas permitirlo en los dos puertos web estándar, 80 (web normal) y 443 (web segura):
0.0.0.0/0 (es decir, "desde cualquier lugar") hacia los puertos 80 y 443.sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 6 -m state --state NEW -p tcp --dport 443 -j ACCEPT
sudo netfilter-persistent save
Si usas la opción de Cloudflare Tunnel del Paso 5, puedes saltarte por completo la apertura de los puertos 80/443.
Ahora iniciarás sesión en el servidor y escribirás comandos en él desde tu propia computadora, usando SSH. Abre una terminal (en Windows, usa PowerShell, ya incluye ssh) y ejecuta esto, apuntando -i al archivo de clave privada que descargaste:
ssh -i /path/to/YOUR_PRIVATE_KEY ubuntu@YOUR_SERVER_IP
En Mac o Linux, si recibes un error de "permissions are too open" sobre la clave, ejecuta primero chmod 600 /path/to/YOUR_PRIVATE_KEY, eso restringe el archivo para que solo tú puedas leerlo, lo cual SSH requiere.
Una vez conectado (tu línea de comandos muestra ahora el servidor), instala las últimas actualizaciones del sistema:
sudo apt update && sudo apt upgrade -y
sudo significa "ejecuta esto como administrador"; apt es el instalador de apps integrado de Ubuntu.
No hay nada que instalar en el servidor, sin Docker, sin Node, sin .env. Es un único programa autónomo. Desde tu propia computadora (una nueva ventana de terminal, no la sesión SSH), ejecuta esto desde la carpeta donde descomprimiste la descarga para copiar el programa de Linux al servidor. scp es "copia segura", envía un archivo a través de la misma conexión SSH segura:
scp -i /path/to/YOUR_PRIVATE_KEY ./map-blueprint-linux ubuntu@YOUR_SERVER_IP:~/
De vuelta en la sesión SSH, haz el programa ejecutable e inícialo. HOST=0.0.0.0 le indica que acepte conexiones desde fuera, para que el paso de HTTPS siguiente pueda alcanzarlo:
chmod +x ~/map-blueprint-linux
HOST=0.0.0.0 ~/map-blueprint-linux
Ahora está escuchando en el puerto 8080. Definirás la contraseña de tu equipo desde el navegador una vez que HTTPS esté en su lugar (siguiente paso). Por ahora, pulsa Ctrl-C para detenerlo, el Paso 6 lo convierte en un servicio que funciona las 24 horas.
config.json y tus mapas en data/ se crean justo al lado del programa en tu carpeta de inicio (~/). Todos los ajustes viven en la página de Ajustes dentro de la app, no hay archivos que editar.
La app habla HTTP normal y está diseñada para situarse detrás de algo que añada HTTPS (el candado cifrado). Elige uno de estos dos enfoques, la Opción A es la más fácil de asegurar.
Un túnel conecta tu servidor hacia fuera con Cloudflare, de modo que los visitantes alcanzan la app a través de Cloudflare sin que haya ningún puerto abierto en tu servidor.
cloudflared (la herramienta de túnel de Cloudflare) e inicia sesión:
curl -fsSL https://pkg.cloudflare.com/install.sh | sudo bash
sudo apt install -y cloudflared
cloudflared tunnel login
cloudflared tunnel create mapblueprint
cloudflared tunnel route dns mapblueprint maps.YOURDOMAIN.com
http://localhost:8080 en su configuración, luego instálalo como servicio en segundo plano para que siempre funcione:
sudo cloudflared service install
Cloudflare crea y renueva el certificado HTTPS por ti automáticamente, y nada en tu servidor queda expuesto directamente, puedes dejar los puertos 80/443 cerrados.
Caddy es un diminuto servidor web que se sitúa por delante de la app, añade HTTPS y reenvía los visitantes hacia ella, eso es lo que hace un proxy inverso.
maps.YOURDOMAIN.com a YOUR_SERVER_IP. (Un "registro A" es la entrada de DNS que asocia un nombre a la IP de un servidor, configúralo en tu registrador de dominios o proveedor de DNS.)/etc/caddy/Caddyfile (le indica a Caddy: sirve esta dirección y reenvía los visitantes a la app en el puerto 8080):
maps.YOURDOMAIN.com {
reverse_proxy localhost:8080
}
sudo systemctl reload caddy
Caddy obtiene y renueva un certificado gratuito de Let's Encrypt por ti automáticamente. Esta opción necesita los puertos 80 y 443 abiertos (Paso 2).
X-Forwarded-Proto que ambas opciones de arriba establecen), así que los inicios de sesión quedan protegidos sin configuración adicional.
Visita https://maps.YOURDOMAIN.com, deberías ver la página de inicio de sesión. Inicia sesión y comparte ese enlace con tu equipo.
¿Quieres un segundo candado, más fuerte? El "Access" de Cloudflare Zero Trust pone una pantalla de inicio de sesión por delante de tu app, de modo que los desconocidos ni siquiera llegan a Map Blueprint, Cloudflare comprueba primero quién eres. Funciona mejor con la Opción A (el Cloudflare Tunnel) de arriba, y te permite conceder acceso persona por persona mediante correo electrónico en lugar de compartir una sola contraseña. Es gratuito para equipos pequeños.
maps.YOURDOMAIN.com).@yourstudio.com), luego guarda.Este es el mismo tipo de control de identidad que los creadores de Map Blueprint usan en su propio mapa interno. Aunque alguien averigüe tu URL, no puede cargar la app sin pasar la comprobación de identidad, ideal para un mapa de estudio privado.
Por último, convierte la app en un servicio para que se inicie al arrancar y se reinicie solo si alguna vez se detiene. (Un "servicio" es un programa que Linux cuida en segundo plano.) Guarda el texto de abajo como el archivo /etc/systemd/system/map-blueprint.service:
[Unit]
Description=Map Blueprint
After=network.target
[Service]
WorkingDirectory=/home/ubuntu
Environment=HOST=0.0.0.0
ExecStart=/home/ubuntu/map-blueprint-linux
Restart=always
User=ubuntu
[Install]
WantedBy=multi-user.target
Luego actívalo, recarga la lista de servicios, habilítalo e inícialo, y comprueba que está en marcha:
sudo systemctl daemon-reload
sudo systemctl enable --now map-blueprint.service
sudo systemctl status map-blueprint.service
WorkingDirectory=/home/ubuntu mantiene config.json y tus mapas en data/ en la carpeta de inicio, junto al programa. Ahora abre https://maps.YOURDOMAIN.com, completa la pantalla de Configuración inicial de la primera ejecución y define la contraseña de tu equipo de inmediato. (¿Prefieres definirla por adelantado? Añade Environment=APP_PASSWORD=YOUR_PASSWORD al archivo del servicio.)
http://YOUR_SERVER_IP:8080 normal en uso real.sudo apt update && sudo apt upgrade -y de vez en cuando.data/ (y de config.json) con regularidad, ahí es donde viven tus mapas y ajustes.Cuando recibas un programa actualizado, detén el servicio, reemplaza el archivo del programa e inícialo de nuevo, tu config.json y tus mapas en data/ se dejan intactos. Sube el nuevo map-blueprint-linux desde tu computadora (con scp, como en el Paso 4), luego en el servidor ejecuta:
sudo systemctl stop map-blueprint.service
chmod +x ~/map-blueprint-linux
sudo systemctl start map-blueprint.service