The following instructions explain how to create a Nominatim database
from an OSM planet file. It is assumed that you have already successfully
-installed the Nominatim software itself. If this is not the case, return to the
+installed the Nominatim software itself and the `nominatim` tool can be found
+in your `PATH`. If this is not the case, return to the
[installation page](Installation.md).
## Creating the project directory
Before you start the import, you should create a project directory for your
new database installation. This directory receives all data that is related
to a single Nominatim setup: configuration, extra data, etc. Create a project
-directory apart from the Nominatim software:
+directory apart from the Nominatim software and change into the directory:
```
mkdir ~/nominatim-planet
+cd ~/nominatim-planet
```
In the following, we refer to the project directory as `$PROJECT_DIR`. To be
The Nominatim tool assumes per default that the current working directory is
the project directory but you may explicitly state a different directory using
-the `--project-dir` parameter. The following instructions assume that you have
-added the Nominatim build directory to your PATH and run all directories from
-the project directory. So change into now:
-
-```
-cd $PROJECT_DIR
-```
+the `--project-dir` parameter. The following instructions assume that you run
+all commands from the project directory.
!!! tip "Migration Tip"
### Configuration setup in `.env`
-The Nominatim server can be customized via a `.env` in the project directory.
-This is a file in [dotenv](https://github.com/theskumar/python-dotenv) format
-which looks the same as variable settings in a standard shell environment.
+The Nominatim server can be customized via an `.env` configuration file in the
+project directory. This is a file in [dotenv](https://github.com/theskumar/python-dotenv)
+format which looks the same as variable settings in a standard shell environment.
You can also set the same configuration via environment variables. All
settings have a `NOMINATIM_` prefix to avoid conflicts with other environment
variables.
above. If the system starts swapping or you are getting out-of-memory errors,
reduce the cache size or even consider using a flatnode file.
-### Verify the import
+
+### Testing the installation
Run this script to verify all required tables and indices got created successfully.
```sh
-nominatim check-database
+nominatim admin --check-database
```
-### Testing the installation
-
Now you can try out your installation by running:
```sh
-make serve
+nominatim serve
```
This runs a small test server normally used for development. You can use it
If you want to be able to search for places by their type through
[special key phrases](https://wiki.openstreetmap.org/wiki/Nominatim/Special_Phrases)
-you also need to enable these key phrases like this:
+you also need to import these key phrases like this:
- nominatim special-phrases --from-wiki > specialphrases.sql
- psql -d nominatim -f specialphrases.sql
+ nominatim special-phrases --import-from-wiki
Note that this command downloads the phrases from the wiki link above. You
need internet access for the step.
TIGER data to your own Nominatim instance by following these steps. The
entire US adds about 10GB to your database.
- 1. Get preprocessed TIGER 2019 data and unpack it into your project
- directory:
+ 1. Get preprocessed TIGER 2020 data:
cd $PROJECT_DIR
- wget https://nominatim.org/data/tiger2019-nominatim-preprocessed.tar.gz
- tar xf tiger2019-nominatim-preprocessed.tar.gz
+ wget https://nominatim.org/data/tiger2020-nominatim-preprocessed.tar.gz
2. Import the data into your Nominatim database:
- nominatim add-data --tiger-data tiger
+ nominatim add-data --tiger-data tiger2020-nominatim-preprocessed.tar.gz
3. Enable use of the Tiger data in your `.env` by adding: