# .env
# Default configuration settings for Nominatim.
# This file uses the dotenv format.

# Database connection string.
# Add host, port, user etc through additional semicolon-separated attributes.
# e.g. ;host=...;port=...;user=...;password=...
# Changing this variable requires to run 'nominatim refresh --website'.
NOMINATIM_DATABASE_DSN="pgsql:dbname=nominatim"

# Database web user.
# Nominatim sets up read-only access for this user during installation.
NOMINATIM_DATABASE_WEBUSER="www-data"

# Tokenizer used for normalizing and parsing queries and names.
# The tokenizer is set up during import and cannot be changed afterwards
# without a reimport.
# Currently available tokenizers: icu, legacy
NOMINATIM_TOKENIZER="icu"

# If true, admin level changes on places with many contained children are blocked.
NOMINATIM_LIMIT_REINDEXING=yes

# Restrict search languages.
# Normally Nominatim will include all language variants of name:XX
# in the search index. Set this to a comma separated list of language
# codes, to restrict import to a subset of languages.
# Currently only affects the initial import of country names and special phrases.
NOMINATIM_LANGUAGES=

# Configuration file for the tokenizer.
# The content depends on the tokenizer used. If left empty the default settings
# for the chosen tokenizer will be used. The configuration can only be set
# on import and not be changed afterwards.
NOMINATIM_TOKENIZER_CONFIG=

# Search in the Tiger house number data for the US.
# Note: The tables must already exist or queries will throw errors.
# Changing this value requires to run ./utils/setup --create-functions --setup-website.
NOMINATIM_USE_US_TIGER_DATA=no

# Search in the auxiliary housenumber table.
# Changing this value requires to run ./utils/setup --create-functions --setup-website.
NOMINATIM_USE_AUX_LOCATION_DATA=no

# Proxy settings
# The following settings allow to set a proxy to use when remotely downloading
# data. Host and port are required. Login and password are optional.
NOMINATIM_HTTP_PROXY=no
NOMINATIM_HTTP_PROXY_HOST=
NOMINATIM_HTTP_PROXY_PORT=3128
NOMINATIM_HTTP_PROXY_LOGIN=
NOMINATIM_HTTP_PROXY_PASSWORD=
# Also set these standard environment variables.
# HTTP_PROXY="http://user:pass@10.10.1.10:1080"
# HTTPS_PROXY="http://user:pass@10.10.1.10:1080"

# Location of the osm2pgsql binary.
# EXPERT ONLY. You should usually use the supplied osm2pgsql.
NOMINATIM_OSM2PGSQL_BINARY=

# Directory where to find pre-computed Wikipedia importance files.
# When unset, the data is expected to be located in the project directory.
NOMINATIM_WIKIPEDIA_DATA_PATH=

# Configuration file for rank assignments.
NOMINATIM_ADDRESS_LEVEL_CONFIG=address-levels.json

# Configuration file for OSM data import.
# This may either be the name of one of an internal style or point
# to a file with a custom style.
# Internal styles are: admin, street, address, full, extratags
NOMINATIM_IMPORT_STYLE=extratags

# Location of the flatnode file used by osm2pgsql to store node locations.
# When unset, osm2pgsql stores the location in the PostgreSQL database. This
# is especially useful for imports of larger areas, like continents or the
# full planet. The file needs at least 70GB storage.
NOMINATIM_FLATNODE_FILE=

### Tablespace settings
#
# The following settings allow to move parts of the database tables into
# different tablespaces. This is especially interesting if you have disks
# with different speeds. When unset, the default tablespace is used.
# Only has an effect during import.

# Tablespace used for tables used when searching.
NOMINATIM_TABLESPACE_SEARCH_DATA=
# Tablespace used for indexes used when searching.
NOMINATIM_TABLESPACE_SEARCH_INDEX=

# Tablespace used for the OSM data cache tables. Used for import and update only.
NOMINATIM_TABLESPACE_OSM_DATA=
# Tablespace used for the OSM data cache indexes. Used for import and update only.
NOMINATIM_TABLESPACE_OSM_INDEX=

# Tablespace used for place import table. Used for import and update only.
NOMINATIM_TABLESPACE_PLACE_DATA=
# Tablespace used for place import indexes. Used for import and update only.
NOMINATIM_TABLESPACE_PLACE_INDEX=

# Tablespace for tables used during address computation. Used for import and update only.
NOMINATIM_TABLESPACE_ADDRESS_DATA=
# Tablespace for indexes used during address computation. Used for import and update only.
NOMINATIM_TABLESPACE_ADDRESS_INDEX=

# Tablespace for tables for auxiliary data, e.g. TIGER data, postcodes.
NOMINATIM_TABLESPACE_AUX_DATA=
# Tablespace for indexes for auxiliary data, e.g. TIGER data, postcodes.
NOMINATIM_TABLESPACE_AUX_INDEX=


### Replication settings
#
# The following settings control where and how updates for the database are
# retrieved.
#

#
# Base URL of replication service.
# A replication service provides change files of OSM data at regular intervals.
# These are used to keep the database up to date. Per default it points to
# the minutely updates for the main OSM database. There are other services
# geared towards larger update intervals or data extracts.
# Changing this value requires to rerun 'nominatim replication --init'.
NOMINATIM_REPLICATION_URL="https://planet.openstreetmap.org/replication/minute"

# Maximum amount of data to download per batch.
# Size is in MB.
NOMINATIM_REPLICATION_MAX_DIFF=50

# Publication interval of the replication service (in seconds).
# Determines when Nominatim will attempt again to download again a new
# update. The time is computed from the publication date of the last diff
# downloaded. Setting this to a slightly higher value than the actual
# publication interval avoids unnecessary rechecks.
NOMINATIM_REPLICATION_UPDATE_INTERVAL=75

# Wait time to recheck for a pending update (in seconds).
# Time to wait after an expected update was not available on the server.
NOMINATIM_REPLICATION_RECHECK_INTERVAL=60

### API settings
#
# The following settings configure the API responses. You must rerun
# 'nominatim refresh --website' after changing any of them.

# Send permissive CORS access headers.
# When enabled, send CORS headers to allow access to everybody.
NOMINATIM_CORS_NOACCESSCONTROL=yes

# URL for static icon images.
# Set this to the /mapicon directory of your nominatim-ui to enable returning
# icon URLs with the results.
NOMINATIM_MAPICON_URL=

# Language to assume when no particular language is requested.
# When unset, the local language (i.e. the name tag without suffix) will be used.
NOMINATIM_DEFAULT_LANGUAGE=

# Maximum number of OSM ids accepted by /lookup.
NOMINATIM_LOOKUP_MAX_COUNT=50

# Number of different geometry formats that may be queried in parallel.
# Set to zero to disable polygon output.
NOMINATIM_POLYGON_OUTPUT_MAX_TYPES=1

# Offer backwards compatible PHP URLs.
# When running one of the Python enignes, they will add endpoint aliases
# under <endpoint>.php
NOMINATIM_SERVE_LEGACY_URLS=yes

# Maximum number of connection a single API object can use. (Python API only)
# When running Nominatim as a server, then this is the maximum number
# of connections _per worker_.
NOMINATIM_API_POOL_SIZE=10

# Timeout is seconds after which a single query to the database is cancelled.
# The user receives a 503 response, when a query times out.
# When empty, then timeouts are disabled.
NOMINATIM_QUERY_TIMEOUT=10

# Maximum time a single request is allowed to take. When the timeout is
# exceeded, the available results are returned.
# When empty, then timeouts are disabled.
NOMINATIM_REQUEST_TIMEOUT=60

# Search elements just within countries
# If, despite not finding a point within the static grid of countries, it
# finds a geometry of a region, do not return the geometry. Return "Unable
# to geocode" instead.
NOMINATIM_SEARCH_WITHIN_COUNTRIES=False

# Specifies the order in which different name tags are used.
# The values in this list determine the preferred order of name variants,
# including language-specific names.
# Comma-separated list, where :XX stands for language-specific tags
# (e.g. name:en) and no :XX stands for general tags (e.g. name).
NOMINATIM_OUTPUT_NAMES=name:XX,name,brand,official_name:XX,short_name:XX,official_name,short_name,ref

### Log settings
#
# The following options allow to enable logging of API requests.
# You must rerun 'nominatim refresh --website' after changing any of them.
#
# Enable logging of requests into the DB.
# The request will be logged into the new_query_log table.
# You should set up a cron job that regularly clears out this table.
NOMINATIM_LOG_DB=no

# Enable logging of requests into a file.
# To enable logging set this setting to the file to log to.
NOMINATIM_LOG_FILE=

# Echo raw SQL from SQLAlchemy statements.
# EXPERT: Works only in command line/library use.
NOMINATIM_DEBUG_SQL=no
