OSM Scout Server

Your rating: None Average: 5 (43 votes)

OSM Scout Server is a native offline maps provider. This server can be used as a drop-in replacement for online map services providing map tiles, search, and routing. As a result, together with the map client, a full offline solution is available for map search and navigation (car, bicycle, and walking).

The server can be used to provide:

  • map tiles for other applications;
  • search for locations and free text search;
  • search for POIs next to a reference;
  • calculate the route between two or more locations.

To use the server, you have to start it and configure the client to access it. Poor Maps and modRana have support for the server already with no additional configuration needed.

Starting from 0.7.0 release, maps are distributed online and should be downloaded through provided Map Manager interface.

NB! When Mapbox GL schema is changed (as for 1.4.0), please remove Mapbox GL application caches. For Poor Maps GL, you have to run

rm -rf ~/.cache/harbour-poor-maps-gl

in the terminal.

NB! When a new backend is added, such as with the release of 0.9.0 and 0.10.0, please ensure that you have subscription information updated. For that, in Map Manager, click on "Check for updates", decline updates, and unsubscribe/subscribe each territory that you have subscribed. After that, proceed with the downloads. This is not needed if you don't want to use the added backend(s).

For detailed up-to-date description, please see https://github.com/rinigus/osmscout-server/blob/master/README.md

License: GPL
Source code: https://github.com/rinigus/osmscout-server

User's guide: https://rinigus.github.io/osmscout-server

Official TMO thread: http://talk.maemo.org/showthread.php?t=97823

Donations: https://rinigus.github.io/donate

Screenshots show the running server and, as an example client application, Poor Maps accessing the map tiles and calculated route prior to navigation.

Maps are hosted by Natural Language Processing Centre (https://nlp.fi.muni.cz/en/ , Faculty of Informatics, Masaryk University, Brno, Czech Republic) through modRana (http://modrana.org)
data repository.

Map data from OpenStreetMap, Open Database License 1.0. Maps are converted to a suitable format from downloaded extracts and/or using polygons as provided by Geofabrik GmbH.

Application versions: 
File harbour-osmscout-server-1.6.0-10.40.1.jolla_.armv7hl.rpm9.94 MB27/05/2018 - 07:04
File harbour-osmscout-server-1.6.0-10.40.1.jolla_.i486.rpm10.65 MB27/05/2018 - 07:04
File harbour-osmscout-server-1.7.1-1.48.1.armv7hl.rpm10.06 MB17/06/2018 - 10:33
File harbour-osmscout-server-1.7.1-1.48.1.i486.rpm10.77 MB17/06/2018 - 10:33
File harbour-osmscout-server-1.8.0-1.64.1.armv7hl.rpm11.43 MB12/07/2018 - 22:59
File harbour-osmscout-server-1.8.0-1.64.1.i486.rpm12.29 MB12/07/2018 - 22:59
File harbour-osmscout-server-1.9.1-1.76.1.i486.rpm12.3 MB31/07/2018 - 15:54
File harbour-osmscout-server-1.9.1-1.76.1.armv7hl.rpm11.43 MB31/07/2018 - 15:54
File harbour-osmscout-server-1.10.2-1.90.1.armv7hl.rpm11.44 MB20/08/2018 - 13:15
File harbour-osmscout-server-1.10.2-1.90.1.i486.rpm12.31 MB20/08/2018 - 13:15
File harbour-osmscout-server-1.10.5-1.93.1.armv7hl.rpm11.44 MB27/08/2018 - 18:26
File harbour-osmscout-server-1.10.5-1.93.1.i486.rpm12.32 MB27/08/2018 - 18:26
File harbour-osmscout-server-1.11.0-1.96.1.armv7hl.rpm11.45 MB05/09/2018 - 21:23
File harbour-osmscout-server-1.11.0-1.96.1.i486.rpm12.32 MB05/09/2018 - 21:23
File harbour-osmscout-server-1.12.2-1.103.1.jolla_.armv7hl.rpm11.47 MB01/11/2018 - 08:51
File harbour-osmscout-server-1.12.2-1.103.1.jolla_.i486.rpm12.35 MB01/11/2018 - 08:51
File harbour-osmscout-server-1.13.0-1.106.1.jolla_.armv7hl.rpm11.68 MB03/12/2018 - 23:16
File harbour-osmscout-server-1.13.0-1.106.1.jolla_.i486.rpm12.64 MB03/12/2018 - 23:16
File harbour-osmscout-server-1.13.1-1.107.1.jolla_.armv7hl.rpm11.67 MB01/02/2019 - 00:01
File harbour-osmscout-server-1.13.1-1.107.1.jolla_.i486.rpm12.65 MB01/02/2019 - 00:01

1.13.0, 1.13.1

  • add postal code as a name for some search results
  • docs: update Spanish User's manual
  • docs: add Linux install instructions
  • mapboxgl backend: use sqlite3pp instead of Qt SQL
  • flatpak: update build scripts and move them to flathub
  • [1.13.1] updated translations

1.12.0, 1.12.1, 1.12.2

  • geocoder: add support for search by postal codes
  • geocoder: return postal codes, phone, and webpage when available
  • geocoder: load libpostal language classifier and parser only if needed
  • [1.12.0, 1.12.1] update translations
  • [1.12.2] added boost lib to the package to support SFOS3


  • update translations
  • allow searching without libpostal parsing
  • allow nearby search without type and name


  • update translations
  • update Valhalla to 2.6.3
  • update Valhalla configuration
  • other small changes

1.10.0, 1.10.1, 1.10.2

  • changed license to GPLv3
  • add support for POST requests
  • add search along route
  • cleanup POI aliases handling
  • added Italian translation [wip]
  • updated translations
  • geocoder bugfixes


  • updated translations
  • fix crash when using libosmscout profile
  • fixes in map matching service
  • add ferries and oneway streets in MapboxGL styles


  • introduction of D-Bus API
  • map matching of the current position as D-Bus service
  • updated translations


  • use Valhalla C++ API
  • expose multiple Valhalla's services
  • add Mapbox GL car styles
  • update translations
  • other small changes

1.7.0, 1.7.1

  • support for aliases in multiple languages in guide search
  • support for POIs without a name in guide search
  • extend API for guide search by specified type and/or name
  • provide the list of currently used aliases
  • sort guide results by distance
  • adjusted lists of imported types for geocoder-nlp
  • other enhancements and bugfixes in geocoder-nlp
  • updated translations


  • addition of QtQuick Controls GUI version
  • update geocoder to libpostal 1.1 API
  • adjust geocoder results sorting
  • changes in Valhalla packaging
  • added nl_BE translation
  • updated translations
  • moved Silica QML into separate folder
  • show map selection only if needed


  • revise warning messages on missing backend data
  • notify about missing modules only if required by selected backends
  • source tree and compilation enhancements


  • Updated translations
  • Fix Mapbox GL style to show rivers
  • Preserving explicit dependency on libsystemd at Sailfish


  • Updated translations
  • Support for multiple Mapbox GL icon packs
  • Addition of Mapbox GL dark style


  • Updated Mapbox GL tile schema
  • Mapbox GL style with English names
  • Document starting and using the server
  • Document details on automatic activation of the server
  • Updated translations


  • Support for multiple map download servers
  • Ensure that Valhalla is started before starting HTTP service
  • Updated translations
  • Added donations link


  • Add support for MapboxGL
  • Updated translations of documentation and application

1.1.0, 1.1.1

  • Add automatic start via systemd socket activation
  • Updated translations


  • Normalize tile indexes if requested out of range

1.0.0, 1.0.1

  • Users Guide in Spanish
  • Addition of Finnish translation
  • Updated translations


  • Revert to older libosmscout
  • Updated translations


  • Geocoder-NLP update
  • Updated translations


  • Add support for English as a secondary language
  • Deleting files during cleanup in separate thread
  • Updated translations
  • Bugfixes


  • Updated translations
  • Bugfix in guide search


  • Introduction of profiles
  • Startup wizard
  • Updated translations
  • Other small changes


  • Add support for Mapnik style and daylight switching
  • Speedup Mapnik backend by removing double scaling of the buffer
  • Updated translations


  • Add guide search support for Geocoder-NLP
  • Guide search looks for type or name when using Geocoder-NLP
  • Support for V2 routing protocol by libosmscout backend
  • Updated translations
  • Other smaller changes


  • Updated translations


  • Valhalla added as a routing engine
  • Routing is supported between different territories when using Valhalla
  • Search is performed for all databases when using Geocoder-NLP
  • Server is distributed using modular approach
  • Two server modules introduced: Route and Fonts
  • Update libosmscout version, 20170521
  • Make storage of libosmscout databases optional
  • Mapnik uses Noto fonts by default
  • Other smaller changes

0.9.5, 0.9.6

  • Mapnik database schema changes to reduce size and speedup rendering
  • Mapnik renderer default style adjustments
  • Updated translations


  • Mapnik added as an alternative map rendering backend
  • Enhance Linux command line support for map subscription


  • Updated translations
  • Fix start error on i486


  • Optimization of geocoder-nlp, changes in geocoder data format
  • Updates from libosmscout upstream
  • Addition of command line options
  • Updated translations


  • Expose map updates to GUI
  • Propose to create a storage folder (suggested by @Feathers McGraw)
  • Updated translations


  • New transalations completed: French, Russian
  • New translations started: Polish, Norwegian
  • Fix buffer overflow during fast download and slow writing


  • Updated translations
  • Improved handling of some network errors during download


  • Maps are provided through CDN
  • Adding Map Manager to download and remove maps on the device
  • libosmscout backend changes, including rendering speedup by @Karry
  • Settings grouped by backend and available via Settings dialog
  • Small enhancements


  • German translation
  • Moving translations to Transifex
  • Start and target description are given when available


  • Updated Spanish and Swedish translations


  • Adding libpostal-based geocoder
  • Update to the latest libosmscout version
  • Updated Spanish and Swedish translation


  • Swedish translation


  • Czech translation
  • Minor update in search


  • Updated Spanish translation


  • Added file and directory selection dialog
  • Support for metric and imperial units
  • Built against libosmscout 0.0.git.20161207


  • Updated Spanish translation


  • Changes for better localization support
  • Spanish translation
  • GUI shows number of jobs in queue
  • Support for routing cost limits
  • Bugfixes in routing (libosmscout library)


  • Decoupling number of parallel processing threads and number of requests
  • Adding GPX output for router
  • Adding ability to log events into session log file
  • Using libmicrohttpd as a http server engine
  • Bugfixes in routing
  • Static linking of libosmscout, marisa, and libmicrohttpd
  • Used versions of the libraries: libosmscout (0.0.git.20161110), marisa (0.2.4), libmicrohttpd (0.9.50)


  • Bug fix in routing target description; small changes in route instructions text


  • Support for route calculation
  • Add settings for transport speed properties
  • Add ability to increase area processed for tile drawing
  • Small enhancements and bug fixes


  • Initial release
  • Support for map tiles
  • Support for location search
  • Support for free text search
  • Support for search of POIs next to a reference point


rinigus's picture

Assuming that you use Geocoder-NLP:

In OSM Scout Server, if you enable "Search all maps" under Settings/Geocoder-NLP, it should search for POIs in all maps that you have. So, in the case of France, in all France parts that you have.

Does it solve your problem?

crakby's picture

Yes, thank you. I missed out this option. It's perfecltly working now.

ferlanero's picture

OSM Scout Server is absolutely incredible!! Thank you very much for your work rinigus!!

geher's picture

Profile for raster tiles selected. All data loaded. Perhaps the problem is on the side of modrana.

rinigus's picture

Second test: try to ensure that you are in the part of the world where you have data. Zoom out for a while and/or set up region with online map. After that, switch back to osm scout server map.

Out of curiosity: is there particular reason for using raster tile clients?

geher's picture

WhoGo Maps and Poor Maps works good.
But modrana has track recording function.

rinigus's picture

Sounds like its misconfiguration of modRana. On my device modrana works as well. For tracking, you may consider sports app. There is one which uses vector tiles as well

olf's picture

For tracking, you may consider sports app. There is one which uses vector tiles as well

@geher, i.e.: https://openrepos.net/content/jdrescher/laufhelden

rinigus's picture

Can you try to see with Poor Maps? Its also using raster tiles and then we can see whether its modRana or the server issue.

geher's picture

Poor Maps with raster profile works normally.

geher's picture

Modrana does not working correctly with OSM Scout Server. Log of Servet say about normal requests. But modrana display map as white squares.

lsjmhar's picture

Hi. I have downloaded maps and modrana. When i follow the instructions and select osm scout server no tiles appear on my map. If i pick other map options they work. Any ideas?

rinigus's picture

If you use modRana, you have to set the profile to include raster tiles. For vector tiles, the ones I presume you have by default, you could use WhoGo Maps. They also work with Laufhelden. Note that the vector tile clients are much faster in rendering and have several other features that you may like.

PS: modRana is expected to support vector tiles in future.

lsjmhar's picture

Thanks. I selected that in osm but map still not appearing in modrana.

rinigus's picture

Please note that the documentation is somewhat outdated. I have opened an issue to address it and it will be a bit easier in future. But let's figure out what's wrong with your setup

rinigus's picture

To troubleshoot modRana: After you selected support for raster tiles in the server, did you download the maps? Does OSM Scout Server log say anything?

To test my assumption regarding vector tiles: Have you tried WhoGo Maps? Did it work with that?

crakby's picture

Ok. yes thank you for the hint. Where to go, if I found a wrong alias in German language for a tag?

rinigus's picture

We are planning to merge the tag aliases lists with the map clients. POC for WhoGo Maps is ready, have to polish it and do something similar for modRana. So, in future, you wouldn't have to know the tags before hand...

As for correction: German is at https://wiki.openstreetmap.org/wiki/Nominatim/Special_Phrases/DE

List of all available languages is at https://wiki.openstreetmap.org/wiki/Nominatim/Special_Phrases


crakby's picture

In the 'near by search' I have no matches anymore, since last update, if I searching for type 'caravan_site'. In the last version this type showed up.

rinigus's picture

Its easier now: please use 'caravan site' (or if you want to specify full tag, tourism_caravan_site). Full list of tags and their aliases is at https://rinigus.github.io/osmscout-server/tags/

hwansing's picture

I have problems with the automatic start of the server as a service: I have tried to enable "Automatic activation", but there are no systemd socket and service files created (.config/systemd/user/osmscout-server.service and .config/systemd/user/osmscout-server.socket). I have version 1.5.0-10.32.1.jolla at a Jolla 1 phone.

rinigus's picture

Strange, I cannot reproduce it - files are created if needed, activation works. This is on onyx Try to run from terminal and see if there is something printed that can help to debug it

hwansing's picture

Starting from terminal gives:


[nemo@Sailfish ~]$ harbour-osmscout-server
[D] unknown:0 - Using Wayland-EGL
[D] unknown:0 - "Unexpected reply signature: got \"\", expected \"a{sv}\""
[W] unknown:38 - file:///usr/lib/qt5/qml/Sailfish/Silica/private/Util.js:38: TypeError: Cannot read property 'parent' of null


I hope this helps...

If not: Could you mail me the contents of the systemd socket and service files, so that I can create the files by myself?

rinigus's picture

These are general error messages that seem to be coming from Silica layer. So, no help.

The contents of files is available at https://gist.github.com/rinigus/b9fe24551ba8f8e590d94a45761f4a54

With the files in place, it should be possible to enable/disable from OSM Scout Server. If that doesn't work either, then you would have to give corresponding systemctl --user command to enable the socket

However, its realy strange that you have this issue. Maybe something is wrong with permissions?

hwansing's picture

Hmm, permissions ....

.config/systemd/user directory is owned by root, and nemo is not allowed to create files or directories there. Maybe that's the problem?

rinigus's picture

That's surely a problem! I wonder why do you have such permissions. Change them to make owned by nemo and we are golden - all should be possible to do via the server (I mean enable/disable automatic activation )

hwansing's picture

Don't know why I have such permissions, I didn't set them by hand. They were set by the system. Nevertheless, I changed the oowner to nemo:nemo and it works fine. Thanks!

paolomi's picture

Hi :) Thanks for OSM Scout Server!

I'm translating valhalla in order to have localized routing and I want to test it before submitting it, so I ask you: have I to rebuild everything? or are there some tricks? (copy translated file somewhere?)

Thanks a lot

rinigus's picture

Paolomi, hi! Good question, I actually don't know. Note that I haven't updated Valhalla for a while and should do it soon. My main concern is that it may change database format, so I was thinking to synchronize update with new import. But when translation is ready, you should surely ping me when it gets upstream. It will be one more reason to make update.

As for testing, you could probably do it with the latest Valhalla on Linux PC or virtual machine.

paolomi's picture

Hi rinigus :) thanks for your reply.

I've updated italian translation because there is a problem with ordinal values, but they told me that "these are not meant for TTS engines anyway". I've not understood, so I'm asking them what to do. Please, have a look here:




EDIT: it's ok, now I've understood! It should be ok in the next update. Thanks for everything :)