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:
- These provide updates but with a lower detail
https://download.geofabrik.de/europe/italy/nord-ovest-updates/nord-ovest-latest.osm.pbf
https://download.geofabrik.de/europe/italy/nord-ovest-updates/ - This doesn’t provide updates but has an higher level of detail
https://osmit-estratti-test.wmcloud.org/dati/poly/province/pbf/015_Milano_poly.osm.pbf
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
Building and Configuration
Get the source code from Github and change into the source directory
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:
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:
sudo apt install docker docker-compose git
Clone the project
From https://github.com/mediagis/nominatim-docker
- Clone the project from sources
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
cd /opt/gancio/docs/docker/nominatim docker-compose pull
Import the database
See Requirements about downloading the .osm.pbf
files
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
cd docs/docker/nominatim/
cp .env.example .env
Create a random password for nominatim and add it to .env file
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:
docker-compose up -d
Checkout the logs to see when data are imported to the database:
docker-compose logs -f
Try out the search: