TREK: Planifica tus viajes con colaboración en tiempo real. Cómo instalar Trek en Docker
TREK: Planifica tus viajes con colaboración en tiempo real
Aplicación autohospedada para planificar viajes con mapas interactivos, presupuestos, listas de equipaje, reservas y más. Tus viajes, tu plan, tu servidor.
Demo en vivo
Prueba TREK sin instalar nada en: demo-nomad.pakulat.org
La demo se reinicia cada hora, así que tus cambios no se guardarán permanentemente.
¿Qué es TREK?
TREK (anteriormente NOMAD) es un planificador de viajes autohospedado con colaboración en tiempo real, mapas interactivos, soporte PWA, listas de equipaje, presupuestos y mucho más. A diferencia de servicios cloud como Wanderlog o TripIt, TREK se ejecuta en tu propio servidor, dándote control total sobre tus datos de viaje.
La aplicación usa WebSockets para sincronización en tiempo real entre todos los usuarios conectados. Múltiples personas pueden planificar el mismo viaje simultáneamente, viendo los cambios de los demás al instante. Además, funciona como una Progressive Web App (PWA), instalable en cualquier dispositivo sin necesidad de App Store.
Características principales
Planificación de viajes
Planificador drag & drop
Organiza lugares en planes diarios con reordenamiento y movimiento entre días.
Mapa interactivo
Mapa Leaflet con marcadores de fotos, clustering, visualización de rutas y fuentes de tiles personalizables.
Búsqueda de lugares
Busca vía Google Places (con fotos, calificaciones, horarios) u OpenStreetMap (gratis, sin API key).
Notas por día
Añade notas con timestamp y etiquetas de iconos a días individuales con reordenamiento drag & drop.
Optimización de rutas
Auto-optimiza el orden de lugares y exporta a Google Maps.
Previsión meteorológica
Previsiones de 16 días vía Open-Meteo (sin API key) con promedios climáticos históricos como respaldo.
Gestión de viajes
Reservas y bookings
Rastrea vuelos, hoteles, restaurantes con estado, números de confirmación y archivos adjuntos.
Seguimiento de presupuesto
Gastos por categorías con gráfico circular, división por persona/día y soporte multi-moneda.
Listas de equipaje
Checklists categorizadas con seguimiento de progreso, código de colores y sugerencias inteligentes.
Gestor de documentos
Adjunta documentos, tickets y PDFs a viajes, lugares o reservas (hasta 50 MB por archivo).
Exportación PDF
Exporta planes completos como PDF con portada, imágenes, notas y branding TREK.
Mobile y PWA
Progressive Web App
Instala en iOS y Android directamente desde el navegador, sin App Store.
Soporte offline
Service Worker cachea tiles del mapa, datos de API, subidas y assets estáticos vía Workbox.
Sensación de app nativa
Modo standalone fullscreen, icono de app personalizado, barra de estado temática y splash screen.
Optimizado para táctil
Diseño responsive con layouts específicos para móvil, controles touch-friendly y manejo de safe area.
Colaboración
Sincronización en tiempo real
Planifica junto a otros vía WebSocket — los cambios aparecen instantáneamente en todos los usuarios conectados.
Multi-usuario
Invita miembros a colaborar en viajes compartidos con acceso basado en roles.
Single Sign-On (OIDC)
Login con Google, Apple, Authentik, Keycloak o cualquier proveedor OIDC.
Addons modulares (opcionales)
TREK incluye addons que el administrador puede habilitar/deshabilitar según necesidad:
Vacay
Planificador personal de días de vacaciones con vista de calendario, festivos públicos (100+ países), fusión de usuarios con sync en vivo y seguimiento de arrastre.
Atlas
Mapa mundial interactivo con países visitados, estadísticas de viajes, desglose por continentes, seguimiento de rachas y efectos UI de vidrio líquido.
Collab
Chatea con tu grupo, comparte notas, crea encuestas y rastrea quién se ha apuntado a las actividades de cada día.
Widgets de Dashboard
Conversor de divisas y reloj de zonas horarias, activables por usuario.
Stack tecnológico
- Backend: Node.js 22 + Express + SQLite (better-sqlite3)
- Frontend: React 18 + Vite + Tailwind CSS
- PWA: vite-plugin-pwa + Workbox
- Tiempo real: WebSocket (ws)
- Estado: Zustand
- Autenticación: JWT + OIDC
- Mapas: Leaflet + react-leaflet-cluster + Google Places API (opcional)
- Meteorología: Open-Meteo API (gratis, sin API key)
- Iconos: lucide-react
Instalación
Método rápido: Docker Run
La aplicación se ejecuta en el puerto 3000. El primer usuario en registrarse se convierte en administrador.
Método recomendado: Docker Compose
Paso 1: Crear el directorio del proyecto
Paso 2: Crear docker-compose.yml
Paso 3: Iniciar el contenedor
Paso 4: Acceder a TREK
Abre tu navegador y ve a: http://localhost:3000
Instalar como aplicación (PWA)
TREK funciona como una Progressive Web App — no necesitas App Store:
- Abre tu instancia de TREK en el navegador (HTTPS requerido)
- iOS: Botón Compartir → "Añadir a pantalla de inicio"
- Android: Menú → "Instalar app" o "Añadir a pantalla de inicio"
- TREK se abrirá en pantalla completa con su propio icono, como una app nativa
Configurar reverse proxy (recomendado)
Para producción, pon TREK detrás de un reverse proxy con HTTPS (Nginx, Caddy, Traefik).
/ws.
Nginx
Caddy
Caddy maneja upgrades de WebSocket automáticamente:
API keys opcionales
Las API keys se configuran en el Panel de Administración después del login. Las keys configuradas por el admin se comparten automáticamente con todos los usuarios.
Google Maps (búsqueda de lugares y fotos)
- Ve a Google Cloud Console
- Crea un proyecto y habilita la Places API (New)
- Crea una API key en Credentials
- En TREK: Panel de Admin → Settings → Google Maps
Gestión del contenedor
Ver logs
Reiniciar
Detener
Actualizar a la última versión
Tus datos están en los volúmenes montados data y uploads — las actualizaciones nunca tocan tus datos existentes.
Datos y backups
- Base de datos: SQLite, almacenada en
./data/travel.db - Uploads: Almacenados en
./uploads/ - Backups: Crea y restaura vía Panel de Admin
- Auto-Backups: Programación y retención configurables en Panel de Admin
Casos de uso
- Viajes en grupo: Planifica con amigos/familia en tiempo real, todos editando el mismo itinerario
- Viajes de trabajo: Organiza conferencias, reuniones y desplazamientos con presupuestos detallados
- Viajes largos: Planifica meses de viaje con múltiples destinos, reservas y documentos
- Road trips: Optimiza rutas, visualiza en mapa y exporta a Google Maps
- Escapadas de fin de semana: Planificación rápida con listas de equipaje y gastos
- Viajes recurrentes: Reutiliza itinerarios y listas para destinos frecuentes
Comentarios
Publicar un comentario
Comenta...