mindalyze-com/mtl-explorer

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

40

stars

27

commits

Java

primary language

Sep 4, 2026

updated

mtl-explorer.com/
gps
gps-analytics
gps-map
gpx
self-hosted
sports-tracking
Browse cluster: Java DevOps and Agent Frameworks

README

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 pageTry the live demoWatch 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 imports Garmin, GPX, and FIT tracks, shows them on a map, analyzes track statistics, replays activities with a cinematic 3D camera, and can plan routes with BRouter. It is designed for self-hosting with Docker Compose. Location search runs in a separate GeoNames SQLite sidecar.

See the feature overview for the current capability list.

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.

Note: MTL Explorer is a long-running personal project. This GitHub repository is a recently published public mirror; primary development happens in a private repository, so the public commit history may look younger than the project itself and may not include all intermediate steps. AI tools helped polish parts of the user experience, but MTL Explorer is not an automatically generated project. Even with the most advanced AI tools available today, that is not (yet?) possible.

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 sidecar.
  • docker-maps/ - optional local vector map sidecar.
  • docker-location-search/ - GeoNames SQLite location-search sidecar.
  • docker/ - import and demo-data helpers.

Quick start

Prerequisite: Docker Engine and the Docker Compose plugin must be installed and support docker compose.

  1. Start the stack:

    • 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
      

    (Note: The server takes about 10-15 seconds to boot up and initialize the database on first run.)

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

    • User: mtl
    • Password: change-me

To import your tracks, copy GPX/FIT files into the ./data/gpx/ folder.

Change the default login before exposing MTL Explorer outside your home network. For custom logins, directories, offline maps, and reverse proxy setup, see the home install guide.

Documentation

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.

Contributors

mindalyze-com

27 commits

mindalyze-com/mtl-explorer

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

40

stars

27

commits

Java

primary language

Sep 4, 2026

updated

mtl-explorer.com/
gps
gps-analytics
gps-map
gpx
self-hosted
sports-tracking
Browse cluster: Java DevOps and Agent Frameworks

README

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 pageTry the live demoWatch 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 imports Garmin, GPX, and FIT tracks, shows them on a map, analyzes track statistics, replays activities with a cinematic 3D camera, and can plan routes with BRouter. It is designed for self-hosting with Docker Compose. Location search runs in a separate GeoNames SQLite sidecar.

See the feature overview for the current capability list.

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.

Note: MTL Explorer is a long-running personal project. This GitHub repository is a recently published public mirror; primary development happens in a private repository, so the public commit history may look younger than the project itself and may not include all intermediate steps. AI tools helped polish parts of the user experience, but MTL Explorer is not an automatically generated project. Even with the most advanced AI tools available today, that is not (yet?) possible.

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 sidecar.
  • docker-maps/ - optional local vector map sidecar.
  • docker-location-search/ - GeoNames SQLite location-search sidecar.
  • docker/ - import and demo-data helpers.

Quick start

Prerequisite: Docker Engine and the Docker Compose plugin must be installed and support docker compose.

  1. Start the stack:

    • 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
      

    (Note: The server takes about 10-15 seconds to boot up and initialize the database on first run.)

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

    • User: mtl
    • Password: change-me

To import your tracks, copy GPX/FIT files into the ./data/gpx/ folder.

Change the default login before exposing MTL Explorer outside your home network. For custom logins, directories, offline maps, and reverse proxy setup, see the home install guide.

Documentation

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.

Contributors

mindalyze-com

27 commits

Languages

Java

35.8%

TypeScript

31.0%

Vue

27.1%

Python

4.3%

CSS

1.1%