The following instructions explain how to create a Nominatim database
from an OSM planet file and how to keep the database up to date. It
is assumed that you have already successfully installed the Nominatim
software itself, if not return to the [installation page](Installation.md).
The following instructions explain how to create a Nominatim database
from an OSM planet file and how to keep the database up to date. It
is assumed that you have already successfully installed the Nominatim
software itself, if not return to the [installation page](Installation.md).
The Nominatim server can be customized via the file `settings/local.php`
in the build directory. Note that this is a PHP file, so it must always
The Nominatim server can be customized via the file `settings/local.php`
in the build directory. Note that this is a PHP file, so it must always
There are lots of configuration settings you can tweak. Have a look
at `settings/default.php` for a full list. Most should have a sensible default.
There are lots of configuration settings you can tweak. Have a look
at `settings/default.php` for a full list. Most should have a sensible default.
If you plan to import a large dataset (e.g. Europe, North America, planet),
you should also enable flatnode storage of node locations. With this
If you plan to import a large dataset (e.g. Europe, North America, planet),
you should also enable flatnode storage of node locations. With this
Replace the second part with a suitable path on your system and make sure
the directory exists. There should be at least 40GB of free space.
Replace the second part with a suitable path on your system and make sure
the directory exists. There should be at least 40GB of free space.
Wikipedia can be used as an optional auxiliary data source to help indicate
the importance of osm features. Nominatim will work without this information
Wikipedia can be used as an optional auxiliary data source to help indicate
the importance of osm features. Nominatim will work without this information
**Important:** first try the import with a small excerpt, for example from
[Geofabrik](https://download.geofabrik.de).
**Important:** first try the import with a small excerpt, for example from
[Geofabrik](https://download.geofabrik.de).
Nominatim is able to use the official TIGER address set to complement the
OSM house number data in the US. You can add TIGER data to your own Nominatim
Nominatim is able to use the official TIGER address set to complement the
OSM house number data in the US. You can add TIGER data to your own Nominatim
Be warned that this can take quite a long time. After this process is finished,
the same preprocessed files as above are available in `data/tiger`.
Be warned that this can take quite a long time. After this process is finished,
the same preprocessed files as above are available in `data/tiger`.
There are many different possibilities to update your Nominatim database.
The following section describes how to keep it up-to-date with Pyosmium.
For a list of other methods see the output of `./utils/update.php --help`.
There are many different possibilities to update your Nominatim database.
The following section describes how to keep it up-to-date with Pyosmium.
For a list of other methods see the output of `./utils/update.php --help`.
It is recommended to install Pyosmium via pip. Run (as the same user who
will later run the updates):
It is recommended to install Pyosmium via pip. Run (as the same user who
will later run the updates):
Pyosmium. You need to tell Nominatim where to find it. Add the
following line to your `settings/local.php`:
Pyosmium. You need to tell Nominatim where to find it. Add the
following line to your `settings/local.php`:
The path above is fine if you used the `--user` parameter with pip.
Replace `user` with your user name.
The path above is fine if you used the `--user` parameter with pip.
Replace `user` with your user name.
Next the update needs to be initialised. By default Nominatim is configured
to update using the global minutely diffs.
Next the update needs to be initialised. By default Nominatim is configured
to update using the global minutely diffs.