diff --git a/docs/admin/Installation.md b/docs/admin/Installation.md index e67371bd9..cb6bed64f 100644 --- a/docs/admin/Installation.md +++ b/docs/admin/Installation.md @@ -131,9 +131,12 @@ of memory that autovacuum takes away from the import process. ### Downloading the latest release -You can download the [latest release from nominatim.org](https://nominatim.org/downloads/). +If you want to build Nominatim from source, then +you can download the [latest release from nominatim.org](https://nominatim.org/downloads/). The release contains all necessary files. Just unpack it. +Note that you don't need to do this when you install Nominatim from pip directly. + ### Downloading the latest development version If you want to install latest development version from github, make sure to @@ -151,16 +154,16 @@ wget -O Nominatim/data/country_osm_grid.sql.gz https://nominatim.org/data/countr ### Building Nominatim -#### Building the latest development version with pip +#### Building the latest release version with pip Nominatim is easiest to run from its own virtual environment. To create one, run: sudo apt-get install virtualenv virtualenv /srv/nominatim-venv -To install Nominatim directly from the source tree into the virtual environment, run: +To install the latest release of Nominatim into the virtual environment, run: - /srv/nominatim-venv/bin/pip install packaging/nominatim-{db,api} + /srv/nominatim-venv/bin/pip install nominatim-db nominatim-api #### Building in legacy CMake mode @@ -168,6 +171,8 @@ To install Nominatim directly from the source tree into the virtual environment, Installing Nominatim through CMake is now deprecated. The infrastructure will be removed in Nominatim 5.0. Please switch to pip installation. +To build Nominatim with CMake, you need to download and unpack the source code +as described above. The code must be built in a separate directory. Create the directory and change into it. diff --git a/mkdocs.yml b/mkdocs.yml index b6fd0ec7f..23394d16b 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,4 +1,4 @@ -site_name: Nominatim Manual +site_name: Nominatim 4.5.0 Manual theme: font: false name: material diff --git a/vagrant/Install-on-Ubuntu-22.sh b/vagrant/Install-on-Ubuntu-22.sh index a13758317..1798f86e5 100755 --- a/vagrant/Install-on-Ubuntu-22.sh +++ b/vagrant/Install-on-Ubuntu-22.sh @@ -28,7 +28,7 @@ export DEBIAN_FRONTEND=noninteractive #DOCS: libicu-dev python3-dotenv \ python3-pip python3-psutil python3-jinja2 \ python3-sqlalchemy python3-asyncpg \ - python3-icu python3-datrie python3-yaml git + python3-icu python3-datrie python3-yaml # Some of the Python packages that come with Ubuntu 22.04 are too old, # so install the latest version from pip: @@ -105,29 +105,22 @@ fi #DOCS: # Building and Configuration # -------------------------- # -# Get the source code from Github and change into the source directory +# Get the source code from the Nominatim website and unpack it # if [ "x$1" == "xyes" ]; then #DOCS: :::sh cd $USERHOME - git clone --recursive https://github.com/openstreetmap/Nominatim.git - cd Nominatim + wget https://nominatim.org/release/Nominatim-4.5.0.tar.bz2 + tar xf Nominatim-4.5.0.tar.bz2 else #DOCS: cd $USERHOME/Nominatim #DOCS: fi #DOCS: -# When installing the latest source from github, you also need to -# download the country grid: - -if [ ! -f data/country_osm_grid.sql.gz ]; then #DOCS: :::sh - wget -O data/country_osm_grid.sql.gz https://nominatim.org/data/country_grid.sql.gz -fi #DOCS: - # 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 + cmake $USERHOME/Nominatim-4.5.0 make sudo make install diff --git a/vagrant/Install-on-Ubuntu-24.sh b/vagrant/Install-on-Ubuntu-24.sh index 35882a79e..58ff4e0cc 100755 --- a/vagrant/Install-on-Ubuntu-24.sh +++ b/vagrant/Install-on-Ubuntu-24.sh @@ -21,7 +21,7 @@ export DEBIAN_FRONTEND=noninteractive #DOCS: # Now you can install all packages needed for Nominatim: sudo apt-get install -y osm2pgsql postgresql-postgis postgresql-postgis-scripts \ - pkg-config libicu-dev virtualenv git + pkg-config libicu-dev virtualenv python3-pip # @@ -94,32 +94,14 @@ fi #DOCS: # Building and Configuration # -------------------------- # -# Get the source code from Github and change into the source directory -# -if [ "x$1" == "xyes" ]; then #DOCS: :::sh - cd $USERHOME - git clone https://github.com/openstreetmap/Nominatim.git - cd Nominatim -else #DOCS: - cd $USERHOME/Nominatim #DOCS: -fi #DOCS: - -# When installing the latest source from github, you also need to -# download the country grid: - -if [ ! -f data/country_osm_grid.sql.gz ]; then #DOCS: :::sh - wget -O data/country_osm_grid.sql.gz https://nominatim.org/data/country_grid.sql.gz -fi #DOCS: - # Nominatim should be installed in a separate Python virtual environment. # Create the virtual environment: virtualenv $USERHOME/nominatim-venv -# Now install Nominatim using pip: +# Now you can install the lastest version of Nominatim using pip: - cd $USERHOME/Nominatim - $USERHOME/nominatim-venv/bin/pip install packaging/nominatim-db + $USERHOME/nominatim-venv/bin/pip install nominatim-db # Nominatim is now ready to use. The nominatim binary is available at # `$USERHOME/venv/bin/nominatim`. If you want to have 'nominatim' in your @@ -144,8 +126,7 @@ fi #DOCS: #DOCS:```sh $USERHOME/nominatim-venv/bin/pip install psycopg[binary] falcon uvicorn gunicorn -cd $USERHOME/Nominatim -$USERHOME/nominatim-venv/bin/pip install packaging/nominatim-api +$USERHOME/nominatim-venv/bin/pip install nominatim-api #DOCS:``` # Next you need to create a systemd job that runs Nominatim on gunicorn.