Skip to content


Repository files navigation

Nextcloud Maps

With MapLibre-GL support

🌍🌏🌎 The whole world fits inside your cloud!

  • πŸ—Ί Beautiful map: Using OpenStreetMap and Leaflet, you can choose between standard map, satellite, topographical, dark mode or even watercolor! 🎨
  • ⭐ Favorites: Save your favorite places, privately! Sync with GNOME Maps and mobile apps is planned.
  • 🧭 Routing: Possible using either OSRM, GraphHopper or Mapbox.
  • πŸ–Ό Photos on the map: No more boring slideshows, just show directly where you were!
  • πŸ™‹ Contacts on the map: See where your friends live and plan your next visit.
  • πŸ“± Devices: Lost your phone? Check the map!
  • γ€° Tracks: Load GPS tracks or past trips. Recording with PhoneTrack or OwnTracks is planned.

Future plans:

User Documentation

My Maps

Custom maps are stored by default in the "/Maps" folder. This folder can be found in the files app. Other folders turned into map by placing a ".index.maps" file into it. Content can therefore be added via:

  • Webdav (Desktop and Mobile clients)
  • Files app
  • Maps app

Custom maps can then be shared from the maps or any other app.

Sharing map

Maps can be shared using the nextcloud sharing system.

Favorites on custom map

Favorites on custom the custom maps are stored in the .favorites.json file.

Shared favorite categories can be linked to a custom map. Linked favorite categories are read-only. They can be edited on the owners default map. These links are stored in the ".favorite_shares.json".

Contacts on custom map

Contacts on custom maps are stored as vCards (*.vfc) files.

Tracks on custom map

Tracks on custom map are stored as "*.gpx files".

Photos on custom map

Photos are stored in the corresponding folder. They can be added from files or from maps Existing photo albums can be viewed on the map by placing a ".index.maps" file into it.

Scanning photos take time. Therefore photos are scanned in the background. After adding photos it might take a while, until the scan is done and the photos are shown on the map.

πŸ— Development setup

This requires that you install node and npm.

  1. ☁ Clone this app into the apps folder of your Nextcloud: git clone
  2. πŸ‘©β€πŸ’» In the folder of the app, run the command make to install dependencies and build the Javascript.
  3. βœ… Enable the app through the app management of your Nextcloud
  4. πŸŽ‰ Partytime! Help fix some issues and review pull requests πŸ‘

Admin documentation

Media scans are performed with the regular system background job.

Scans can also be manually triggered via occ command:

./occ maps:scan-photos to rescan photos' GPS exif data

./occ maps:scan-tracks to rescan track files