diff --git a/projects/italy/README.md b/projects/italy/README.md new file mode 100644 index 00000000..5766d649 --- /dev/null +++ b/projects/italy/README.md @@ -0,0 +1,38 @@ +# Italy + +This project is configured to download/prepare/build a complete Pelias installation for Italy. + +# Setup + +Please refer to the instructions at in order to install and configure your docker environment. + +Given the coverage provided by OpenAddresses is somewhat sparse, it's worth examining the configuration and the OpenAddresses coverage to understand your queries. + +The minimum configuration required in order to run this project are [installing prerequisites](https://github.com/pelias/docker#prerequisites), [install the pelias command](https://github.com/pelias/docker#installing-the-pelias-command) and [configure the environment](https://github.com/pelias/docker#configure-environment). + +Please ensure that's all working fine before continuing. + +# Differences from other folders +- Enabled port in 5601 for Elastic in docker-compose.yml +- Setup pelias.json with italian data from openaddresses and correct (let's hope) wof record + +# Run a Build + +To run a complete build, execute the following commands: + +```bash +pelias compose pull +pelias elastic start +pelias elastic wait +pelias elastic create +pelias download all +pelias prepare all +pelias import all +pelias compose up +``` + +# Make an Example Query + +You can now make queries against your new Pelias build: + + diff --git a/projects/italy/docker-compose.yml b/projects/italy/docker-compose.yml new file mode 100644 index 00000000..2d36dd6f --- /dev/null +++ b/projects/italy/docker-compose.yml @@ -0,0 +1,112 @@ +version: '3' +networks: + default: + driver: bridge +services: + libpostal: + image: pelias/libpostal-service + container_name: pelias_libpostal + user: "${DOCKER_USER}" + restart: always + ports: [ "4400:4400" ] + schema: + image: pelias/schema:master + container_name: pelias_schema + user: "${DOCKER_USER}" + volumes: + - "./pelias.json:/code/pelias.json" + api: + image: pelias/api:master + container_name: pelias_api + user: "${DOCKER_USER}" + restart: always + environment: [ "PORT=4000" ] + ports: [ "4000:4000" ] + volumes: + - "./pelias.json:/code/pelias.json" + placeholder: + image: pelias/placeholder:master + container_name: pelias_placeholder + user: "${DOCKER_USER}" + restart: always + environment: [ "PORT=4100" ] + ports: [ "4100:4100" ] + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + - "./blacklist/:/data/blacklist" + whosonfirst: + image: pelias/whosonfirst:master + container_name: pelias_whosonfirst + user: "${DOCKER_USER}" + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + openstreetmap: + image: pelias/openstreetmap:master + container_name: pelias_openstreetmap + user: "${DOCKER_USER}" + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + openaddresses: + image: pelias/openaddresses:master + container_name: pelias_openaddresses + user: "${DOCKER_USER}" + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + csv-importer: + image: pelias/csv-importer:master + container_name: pelias_csv_importer + user: "${DOCKER_USER}" + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + - "./blacklist/:/data/blacklist" + polylines: + image: pelias/polylines:master + container_name: pelias_polylines + user: "${DOCKER_USER}" + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + interpolation: + image: pelias/interpolation:master + container_name: pelias_interpolation + user: "${DOCKER_USER}" + restart: always + environment: [ "PORT=4300" ] + ports: [ "4300:4300" ] + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + pip: + image: pelias/pip-service:master + container_name: pelias_pip-service + user: "${DOCKER_USER}" + restart: always + environment: [ "PORT=4200" ] + ports: [ "4200:4200" ] + volumes: + - "./pelias.json:/code/pelias.json" + - "${DATA_DIR}:/data" + elasticsearch: + image: pelias/elasticsearch:7.5.1 + container_name: pelias_elasticsearch + user: "${DOCKER_USER}" + restart: always + ports: [ "9200:9200", "9300:9300", "5601:5601 ] + volumes: + - "./elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml:ro" + - "${DATA_DIR}/elasticsearch:/usr/share/elasticsearch/data" + ulimits: + memlock: + soft: -1 + hard: -1 + nofile: + soft: 65536 + hard: 65536 + cap_add: [ "IPC_LOCK" ] + security_opt: + - seccomp=unconfined diff --git a/projects/italy/elasticsearch.yml b/projects/italy/elasticsearch.yml new file mode 100644 index 00000000..ca137940 --- /dev/null +++ b/projects/italy/elasticsearch.yml @@ -0,0 +1,4 @@ +network.host: 0.0.0.0 +bootstrap.memory_lock: true +indices.breaker.fielddata.limit: 85% +indices.fielddata.cache.size: 75% \ No newline at end of file diff --git a/projects/italy/pelias.json b/projects/italy/pelias.json new file mode 100644 index 00000000..bab65f19 --- /dev/null +++ b/projects/italy/pelias.json @@ -0,0 +1,100 @@ +{ + "logger": { + "level": "debug", + "timestamp": false + }, + "esclient": { + "apiVersion": "7.5", + "hosts": [ + { "host": "elasticsearch" } + ] + }, + "elasticsearch": { + "settings": { + "index": { + "refresh_interval": "10s", + "number_of_replicas": "0", + "number_of_shards": "1" + } + } + }, + "api": { + "services": { + "pip": { "url": "http://pip:4200" }, + "libpostal": { "url": "http://libpostal:4400" }, + "placeholder": { "url": "http://placeholder:4100" }, + "interpolation": { "url": "http://interpolation:4300" } + } + }, + "imports": { + "geonames": { + "datapath": "/data/geonames", + "countryCode": "IT" + }, + "openstreetmap": { + "download": [ + { "sourceURL": "http://download.geofabrik.de/europe/italy-latest.osm.pbf" } + ], + "leveldbpath": "/tmp", + "datapath": "/data/openstreetmap", + "import": [{ + "filename": "italy-latest.osm.pbf" + }] + }, + "openaddresses": { + "datapath": "/data/openaddresses", + "files": [ + "it/04/acerra.csv", + "it/21/city_of_biella.csv", + "it/21/statewide.csv", + "it/21/torino.csv", + "it/25/bg.csv", + "it/25/bs.csv", + "it/25/co.csv", + "it/25/cr.csv", + "it/25/lc.csv", + "it/25/lo.csv", + "it/25/mb.csv", + "it/25/mi.csv", + "it/25/mn.csv", + "it/25/pv.csv", + "it/25/so.csv", + "it/25/va.csv", + "it/32/south-tyrol-de.csv", + "it/32/south-tyrol-it.csv", + "it/32/south-tyrol-lld.csv", + "it/34/city_of_verona.csv", + "it/34/venice.csv", + "it/36/statewide.csv", + "it/42/statewide.csv", + "it/45/bo.csv", + "it/45/bologna.csv", + "it/45/fc.csv", + "it/45/fe.csv", + "it/45/ferrara.csv", + "it/45/mo.csv", + "it/45/pc.csv", + "it/45/pr.csv", + "it/45/ra.csv", + "it/45/re.csv", + "it/45/rn.csv", + "it/52/firenze.csv", + "it/52/statewide.csv", + "it/55/statewide.csv", + "it/82/statewide.csv", + "it/88/statewide.csv", + "it/countrywide.csv" + ] + }, + "polyline": { + "datapath": "/data/polylines", + "files": [ "extract.0sv" ] + }, + "whosonfirst": { + "datapath": "/data/whosonfirst", + "countryCode": "IT", + "importPostalcodes": false, + "importPlace": [ "85633253" ] + } + } +}