Self-hosted GPS track and trail log for your own PC, NAS, home lab, or server.
| 🏠 Home page | 🧭 Live demo | |
|---|---|---|
| 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. |
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.
You need Docker with Compose. On Windows and macOS, install Docker Desktop.
Check with docker compose version.
-
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.
- macOS, Linux, WSL, or Git Bash:
-
Open
http://localhost:18080/mtl/and sign in:- User:
mtl - Password:
change-me
- User:
-
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.
| 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.
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 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 summary
MTL Explorer is not a safety-critical navigation system. See the full disclaimer.
Copyright (C) 2020-2026 Patrick Heusser and MTL Explorer contributors.