Upgrade Nominatim install from 3.6 to 3.7

Content on this page is probably outdated and represents my personal knowledge, feelings and understading of things at that time.

Nominatim has changed the project structure in 3.7 so we need to migrate the configuration to the new format.

Prequesites

Install new Nominatim version

root@machine:~$ su - nominatim
nominatim@machine:~$ wget https://nominatim.org/release/Nominatim-3.7.2.tar.bz2
nominatim@machine:~$ tar xf Nominatim-3.7.2.tar.bz2
nominatim@machine:~$ mkdir build37
nominatim@machine:~$ cd build37
nominatim@machine:~/build37$ cmake ../Nominatim-3.7.2
nominatim@machine:~/build37$ make
root@machine:~/build37$ make install
root@machine:~/build37$ apt-get install python3-dotenv python3-psutil python3-icu

This should be enough to get you up and running with the new nominatim tool/binary.

Configuration

Simply create a new empty directory - this will be your new project directory. Then migrate your old settings/local.php to .env file in your project directory with the help of .env.defaults

Migrate database

nominatim@machine:~/nominatim-project$ nominatim admin --migrate

Check database

You can check if the migration went ok and if something else is missing from your database with:

nominatim@machine:~/nominatim-project$ nominatim admin --check-database

And simply follow the instructions if something is missing.

Nominatim UI

Don’t forget to update the Nominatim UI too - configuration and file layout changed a bit, but it’s self explanatory.