Skip to content

About

MTL Explorer: a self-hosted GPS track explorer for maps, stats, filtering, route planning, and photo-linked trail history.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

55 stars

Watchers

2 watching

Forks

Latest commit

 

History

34 Commits

Folders and files

MTL Explorer

Self-hosted GPS track and trail log for your own PC, NAS, home lab, or server.

Start here

🏠 Home page 🧭 Live demo ▶️ Intro video
Visit the home page Try the live demo Watch on YouTube
Overview, screenshots, and feature tour. No account needed; loaded with demo tracks. Three-minute walkthrough.

License: AGPL v3+ Commercial License

What it is

MTL Explorer puts all your GPS tracks on one map, on your own computer instead of someone else's cloud.

  • Import GPX, FIT, and other GPS files, or sync from Garmin.
  • See every activity on one map. Filter and color them.
  • Follow your statistics and trends over the years.
  • Replay an activity in 3D.
  • Plan new routes.

It runs with Docker Compose on a PC, NAS, home lab, or server. See the feature overview for everything it can do.

Why I built MTL Explorer: the project started from the need to see thousands of Garmin tracks on one map, then grew into a personal exploration, planning, and statistics tool.

MTL Explorer is a long-running personal project. This repository is a public mirror, so its history is shorter than the project's. AI tools helped polish parts of the app, but the app was not generated by AI.

Quick start

You need Docker with Compose. On Windows and macOS, install Docker Desktop. Check with docker compose version.

  1. Start MTL Explorer:

    • macOS, Linux, WSL, or Git Bash:
      mkdir mtl-explorer && cd mtl-explorer
      curl -fsSL -o docker-compose.yml https://raw.githubusercontent.com/mindalyze-com/mtl-explorer/main/docker-compose.yml
      docker compose up -d
    • Windows PowerShell:
      mkdir mtl-explorer; cd mtl-explorer
      Invoke-WebRequest -Uri "https://raw.githubusercontent.com/mindalyze-com/mtl-explorer/main/docker-compose.yml" -OutFile "docker-compose.yml"
      docker compose up -d

    The first start downloads the images and sets up the database. This can take several minutes.

  2. Open http://localhost:18080/mtl/ and sign in:

    • User: mtl
    • Password: change-me
  3. Add your tracks: upload them under Settings → Import & sync, or copy them into ./data/gpx/. See the supported formats.

Change the default password before other people or the internet can reach MTL Explorer. See Login and credentials. For storage, offline maps, and HTTPS, see the administration guide.

Documentation

Section Start here
User guide Use MTL Explorer
Administration Install, configure, back up, and update
Development Builds, checks, and API generation
Architecture Current components and contracts
Releases Changes and upgrade instructions

See the documentation portal, feature catalog, and legal documents. These docs describe the upcoming 0.9.0. If you run the released 0.8.1, use the 0.8.1 guide.

Repository layout

  • mtl-server/ - Spring Boot backend.
  • mtl-client/ - Vue 3 and TypeScript PWA.
  • mtl-api/ - OpenAPI schema and generated TypeScript clients.
  • docker-brouter/ - BRouter routing service.
  • docker-maps/ - optional local vector map service.
  • docker-location-search/ - GeoNames SQLite location-search service.
  • docker/ - import and demo-data helpers.

License

License summary

MTL Explorer is available under AGPL-3.0-or-later, with a separate commercial license for users who do not want to comply with the AGPL terms.

Disclaimer

Disclaimer summary

MTL Explorer is not a safety-critical navigation system. See the full disclaimer.


Copyright (C) 2020-2026 Patrick Heusser and MTL Explorer contributors.

About

MTL Explorer: a self-hosted GPS track explorer for maps, stats, filtering, route planning, and photo-linked trail history.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

55 stars

Watchers

2 watching

Forks

Releases

Packages

Contributors

Languages