Nominatim

"Nominatim (from the Latin, 'by name') is a tool to search OpenStreetMap data by name and address (geocoding) and to generate synthetic addresses of OSM points (reverse geocoding). An instance with up-to-date data can be found at https://nominatim.openstreetmap.org. Nominatim is also used as one of the sources for the Search box on the OpenStreetMap home page.""

Space needed for Germany 200GB
PBF-Dateien https://www.geofabrik.de/data/download.html
PBF-Dateien https://osm.mathematik.tu-darmstadt.de/openstreetmap/download.geofabrik.de/
PBF-Dateien Bundeslaender Deutschland https://download.geofabrik.de/europe/germany.html
Deploy https://nominatim.org/release-docs/develop/admin/Deployment/
Search-Query /nominatim/search?q="berlin"&debug=1
Reverse-Query reverse?format=json&lat=53.8&lon=12.5&zoom=18&addressdetails=1
Drop Postgre database dropdb nominatim
Restart Postgre database /etc/init.d/postgresql restart
Import PDF to Postgre-DB ./utils/setup.php --osm-file ../pbf/baden-wuerttemberg-latest.osm.pbf --osm2pgsql-cache 3500 --drop --reverse-only --all 2>&1 | tee setup.log
Tool for analysing PBF files https://osmcode.org/osmium-tool/manual.html