Skip to content

Nominatim installation ​

Testing ​

For testing purposes you could skip the nominatim installation and use one of these geocoding providers that run a server for free:

Requirements ​

From https://nominatim.org/release-docs/latest/admin/Installation/

“A minimum of 2GB of RAM is required or installation will fail. For a full planet import 128GB of RAM or more are strongly recommended. Do not report out of memory problems if you have less than 64GB RAM.”

Planet mirrors ​

There is a list of planet mirrors at https://wiki.openstreetmap.org/wiki/Planet.osm#Planet.osm_mirrors
There you can also find Country and area extracts, divided by Worldwide extract sources and Regional extract sources

Download an extract ​

For Nominatim to work, you need to import files in PBF Format in the PostGis database. Those files have extension *.osm.pbf.

Some of these mirrors provide also incremental updates via OsmChange, for example:

Do you need to host multiple areas? Checkout Osmium, to merge multiple PBF files into one.

Install on Debian ​

There is a detailed documentation for installing nominatim on Ubuntu 22 that should be valid also to install on Debian.

Setup ​

https://nominatim.org/release-docs/latest/appendix/Install-on-Ubuntu-22/#installing-the-required-software

Building and Configuration ​

Get the source code from Github and change into the source directory

bash
cd $USERHOME
wget https://nominatim.org/release/Nominatim-4.2.0.tar.bz2
tar xf Nominatim-4.2.0.tar.bz2

The code must be built in a separate directory. Create this directory, then configure and build Nominatim in there:

bash
mkdir $USERHOME/build
cd $USERHOME/build
cmake $USERHOME/Nominatim-4.2.0
make

Setting up the webserver ​

https://nominatim.org/release-docs/latest/appendix/Install-on-Ubuntu-22/#setting-up-a-webserver

Import the database ​

https://nominatim.org/release-docs/latest/admin/Import/

Install using docker ​

Setup ​

Make sure to have Docker Engine, Docker Compose and git installed:

bash
sudo apt install docker docker-compose git

Clone the project ​

From https://github.com/mediagis/nominatim-docker

  • Clone the project from sources
bash
git clone git@github.com:mediagis/nominatim-docker.git
cd nominatim-docker/4.2/contrib # released Nov 29, 2022
docker-compose pull
  • Or, use the template at docs/docker/nominatim
bash
cd /opt/gancio/docs/docker/nominatim
docker-compose pull

Import the database ​

See Requirements about downloading the .osm.pbf files

bash
cd docs/docker/nominatim/
wget https://download.geofabrik.de/europe/italy/nord-ovest-latest.osm.pbf \
    ./nominatim/data/default.osm.pbf

Configure the environment file ​

bash
cd docs/docker/nominatim/
cp .env.example .env

Create a random password for nominatim and add it to .env file

bash
NOMINATIM_PASSWORD=$(echo random_password | openssl passwd --stdin);
sed -i -e 's/\(NOMINATIM_PASSWORD=\)\(.*\)/\1'$NOMINATIM_PASSWORD'/g' .env

Start nominatim-docker ​

Start your container:

bash
docker-compose up -d

Checkout the logs to see when data are imported to the database:

bash
docker-compose logs -f

Try out the search:

http://0.0.0.0:8080/search?q=building