explainx.ainewsletter3.5k
TrendingNewsPathwaysSkills
Pricing
explainx.ai

Upskill in AI — 16 free pathways, live workshops & bootcamps, and 50+ courses from practitioners. Plus the skills, tools, and MCP servers to practice on.

follow us

corporate training

support@explainx.ai

get started

Find your pathTake Free Evaluation

learn

pathways — start freeworkshopsbootcampscoursescertificationsmock testsexplainx universitycorporate traininglearn skills & mcp

discover

skillsmcp serversexplainx mcptoolsagentsllmsdesignsdictionaryagi trackerranks

company

aboutvisionmissionteaminstructorscommunityhackathonscareers

content

daily AI newsstate of AI — live resultsblogreleasespromptsgeneratorsresource libraryfor LLMsexplainx.ai kids

solutions

all solutionsdeveloper upskillingmarketing upskillingproduct manager upskillingleadership upskilling

newsletter · weekly

Get AI news, tools, and insights in your inbox.

supportprivacytermsdata rightshow we create contentsubmission guidelines

© 2026 AISOLO Technologies Pvt Ltd

On this page

  • TL;DR
  • What TREK Actually Does
  • Get Started in 30 Seconds
  • Production Deployment
  • Install as PWA (No App Store)
  • Security and Encryption
  • TREK vs SaaS Travel Apps
  • Atlas and Data Sources
  • Who Should Use TREK
  • Related explainx.ai coverage
  • Summary
← Back to blog

explainx / blog

TREK: Self-Hosted Travel Planner with Real-Time Maps, Budgets, and AI

TREK v3.1.2 is an AGPL-3.0 self-hosted travel planner — NestJS, React, SQLite, WebSocket sync, PWA, Passkeys, expense splitting, and AI. 6.8k GitHub stars. Run in 30 seconds with Docker.

Jun 26, 2026·6 min read·Yash Thakker
Self-HostedOpen SourceTravelCollaborationPWA
go deep
TREK: Self-Hosted Travel Planner with Real-Time Maps, Budgets, and AI

Your trips. Your plan. Your server.

That is the tagline on TREK — a self-hosted, real-time collaborative travel planner that has climbed to 6.8k GitHub stars and 614 forks while most travel apps still require surrendering itineraries, photos, and location history to a SaaS vendor.

Latest release: v3.1.2 (June 2026), two days after v3.1.1 bug fixes. TREK ships maps, budgets, packing lists, a journey journal, expense splitting, an Atlas of visited countries, AI assistance, SSO, and a installable PWA — all on your hardware, backed by SQLite, synced over WebSockets.

Weekly digest3.5k readers

Catch up on AI

Curated AI updates on agents, skills, and MCP — delivered to your inbox. Unsubscribe anytime.


TL;DR

table · 2 cols
DetailTREK
Repogithub.com/mauriceboe/TREK
Latest versionv3.1.2 (June 2026)
LicenseAGPL-3.0
Stars / forks~6.8k / ~614
Demodemo.liketrek.com
BackendNestJS 11, Node.js, SQLite, ws
FrontendReact, Vite, TypeScript, Tailwind, Zustand
AuthJWT, OAuth 2.1, OIDC, Passkeys, TOTP MFA
MapsLeaflet + Mapbox GL (3D dashboard)
WeatherOpen-Meteo (no API key)
DeployDocker, Compose, Helm/K8s, Unraid, PWA

What TREK Actually Does

TREK is not a static itinerary PDF generator. It is a live collaborative workspace for trip planning — closer to Wanderlog or TripIt in feature scope, but running on infrastructure you control.

Core modules

table · 2 cols
ModuleWhat it does
DashboardTrip overview with 3D map visualization
Trip plannerDay plans, routes, POIs
Journey journalTrip logging and narrative
CostsBudget tracking with expense splitting
Packing listsShared checklists per trip
AtlasMap of visited countries (geoBoundaries data)
Vacay plannerSeasonal / vacation planning workflows
Admin panelUsers, backups, auto-backup schedules

Real-time sync means multiple travelers can edit the same trip simultaneously — changes propagate over WebSocket (/ws) without manual refresh. That architecture choice matters for group trips where one person adds a restaurant while another adjusts the route.

AI built in

TREK includes AI features in the product surface (per the README hero). The repository ships MCP.md — Model Context Protocol documentation for integrating external AI tools with TREK's data layer. If you are building agent workflows that need structured trip context (dates, POIs, budgets), MCP is the integration path rather than scraping the UI.

For broader MCP patterns, see our MCP complete guide.


Get Started in 30 Seconds

The fastest path is Docker:

bash
ENCRYPTION_KEY=$(openssl rand -hex 32) docker run -d -p 3000:3000 \
  -e ENCRYPTION_KEY=$ENCRYPTION_KEY \
  -v ./data:/app/data -v ./uploads:/app/uploads mauriceboe/trek

Open http://localhost:3000.

On first boot, TREK seeds an admin account. Either set environment variables:

bash
-e ADMIN_EMAIL=you@example.com -e ADMIN_PASSWORD='your-secure-password'

Or read the generated credentials from the container log:

bash
docker logs trek

Critical volume mount rule

Mount only ./data and ./uploads. Never mount a volume at /app — doing so hides the application code baked into the image and the container fails with Cannot find module 'tsconfig-paths/register'. If you previously used a full /app mount, switch to the two-directory pattern; your existing data in data/ and uploads/ is preserved.

table · 2 cols
PathContents
./data/travel.dbSQLite database
./data/logs/trek.logAuto-rotated logs
./uploads/User uploads

Production Deployment

Docker Compose

Full compose examples with secure defaults are in the TREK docs. Production pattern: TLS-terminating reverse proxy in front, WebSocket upgrade support on /ws.

Helm (Kubernetes)

bash
helm repo add trek https://mauriceboe.github.io/TREK
helm repo update
helm install trek trek/trek

See charts/README.md for values — including PVC annotation support added in recent releases.

Unraid

TREK ships an unraid-template.xml and ca_profile.xml for Unraid Community Apps submission — relevant if your homelab already runs Immich or other self-hosted media stacks.

Reverse proxy

TREK requires WebSocket upgrade support on /ws for real-time sync. Nginx and Caddy examples are in the repository docs. Without WebSocket passthrough, collaboration appears to work locally but sync breaks behind the proxy.

Updating

bash
docker compose pull && docker compose up -d

Or for plain Docker:

bash
docker pull mauriceboe/trek
docker rm -f trek
docker run -d --name trek -p 3000:3000 \
  -v ./data:/app/data -v ./uploads:/app/uploads \
  --restart unless-stopped mauriceboe/trek

Check existing mount paths first: docker inspect trek --format '{{json .Mounts}}'.


Install as PWA (No App Store)

TREK works as a Progressive Web App:

  1. Open TREK over HTTPS (required for PWA install)
  2. iOS: Share → Add to Home Screen
  3. Android: Menu → Install app (or Add to Home Screen)

The app launches fullscreen with its own icon — useful on trip days when you want quick access to the day plan without browser chrome.


Security and Encryption

TREK encrypts sensitive data with ENCRYPTION_KEY. To rotate keys (e.g. upgrading from a version that derived encryption from JWT_SECRET):

bash
docker exec -it trek node --import tsx scripts/migrate-encryption.ts

The script creates a timestamped DB backup before changes and prompts for old and new keys (input is not echoed).

Authentication stack:

  • JWT for session tokens
  • OAuth 2.1 + OIDC for enterprise SSO
  • Passkeys (WebAuthn) for passwordless login
  • TOTP MFA for second factor

Backups are configurable in the Admin Panel — manual create/restore plus scheduled auto-backups with retention policies.


TREK vs SaaS Travel Apps

table · 3 cols
DimensionTREK (self-hosted)Wanderlog / TripIt (SaaS)
Data locationYour server / homelabVendor cloud
Real-time collabWebSocket on your infraVendor-managed
CostServer + maintenanceSubscription
CustomizationFull source (AGPL)None
Offline / PWAInstallable PWANative apps only
AI integrationMCP documentedVendor-locked

TREK fits the same self-hosting philosophy as files.md local-first notes and Immich for photos: your data, your rules, with AGPL ensuring network-service modifications stay open if you offer TREK commercially to others.


Atlas and Data Sources

The Atlas module visualizes visited countries and sub-national regions. Boundaries come from geoBoundaries (Runfola et al., 2020), licensed CC BY 4.0. Full third-party attributions are in NOTICE.md.

Weather data uses Open-Meteo — no API key required, which keeps homelab setup friction low.


Who Should Use TREK

Good fit:

  • Families or friend groups planning shared trips with live editing
  • Privacy-conscious travelers who do not want itineraries in a third-party cloud
  • Homelab users already running Docker/Compose/K8s stacks
  • Teams wanting SSO (OIDC) on an internal trip-planning tool

Less ideal:

  • Users who want zero maintenance — self-hosting has ops cost
  • Trips requiring deep airline/hotel GDS integration (TREK is planner-first, not booking-first)
  • AGPL-averse organizations that cannot comply with network-service copyleft

Related explainx.ai coverage

table · 2 cols
PostConnection
Immich self-hosted photosAnother AGPL homelab stack (NestJS family)
files.md local-first notesSelf-hosted personal data pattern
MCP guideTREK's MCP.md integration path
Notion + Cursor agentsCollaborative task boards — different domain, same real-time workflow idea

Summary

TREK v3.1.2 is the most complete open-source answer to "why does my trip planner need to live in someone else's cloud?" — real-time collaboration, 3D maps, budgets with expense splitting, packing lists, journal, Atlas, PWA install, Passkeys, and documented MCP hooks, deployable in one Docker command.

6.8k stars suggest the audience was waiting for this. If you are already self-hosting photos and notes, adding trips is a natural next tab.


Last updated: June 26, 2026. Version and stats from github.com/mauriceboe/TREK and release v3.1.2.

Spotted something out of date? Let us know.
Yash Thakker

Written by

Yash Thakker

Yash is an AI expert with over 300K learners. Join his workshops →

Related posts

Jul 24, 2026

Block Buzz: Self-Hosted Nostr Workspace for Humans and Agents

Buzz is Block’s open-source hive: one community, one signed event log, agents as members with their own keys — not chat bots glued to Slack. explainx.ai maps what works today, the Rust relay stack, and when to self-host vs wait.

Jul 9, 2026

Chatto Open Source: Self-Hosted Slack and Discord Alternative

Hendrik's Chatto is now AGPL: one binary, NATS + LiveKit under the hood, Discord-style multi-server client, encrypted-at-rest chat, E2E video only. 791 HN points — here's whether it beats Mattermost, Zulip, or Matrix for your team.

Jul 8, 2026

Meetily: Privacy-First AI Meeting Assistant With Local Whisper and Parakeet

Zackriya-Solutions/meetily is a MIT-licensed Tauri app for local meeting transcription and AI summaries — no cloud required for STT. v0.4.0 ships Parakeet/Whisper GPU acceleration, Import & Enhance beta, and optional Claude or Ollama for notes.