When someone mentions setting up a local "OpenStreetMap Server," they usually mean one of three distinct services (or a bundle of them):
1. Raster Tile Server (Standard Map Display)
What it is: A web service serving pre-rendered .png map images via the standard XYZ tile format (e.g., http://<server-ip>:<port>/tile/{z}/{x}/{y}.png or /{z}/{x}/{y}.png).
Common stacks: Docker containers running overv/openstreetmap-tile-server, Renderd + mod_tile with Mapnik and PostGIS, or lightweight MBTiles/TileServer GL containers.
2. Nominatim Geocoding Server (Address Search / Reverse Geocoding)
What it is: The search engine for OSM data. It converts street addresses to lat/long coordinates and vice versa (returning JSON from endpoints like http://<server-ip>:<port>/search?format=json&q=...).
Common stacks: mediagis/nominatim Docker containers or native Nominatim on PostgreSQL/PostGIS.
TicketsCAD integration: v4 uses Nominatim for address auto-complete and incident location lookups. Setting up a local tile server alone will not handle offline address searching—they need a local Nominatim instance if they operate completely air-gapped.
3. Routing Engine (Optional)
What it is: Turn-by-turn or shortest-path calculation APIs (such as OSRM, Valhalla, or GraphHopper).
TicketsCAD integration: Generally secondary, used only if route lines or drive-time estimates are being calculated locally.
Questions to Clarify With Them
Are they using standard Slippy Map (XYZ) raster tiles or Vector tiles? TicketsCAD/Leaflet uses raster tiles by default. If they generated vector .pbf tiles, they will need a style renderer like TileServer GL to serve raster tiles.
Is their deployment air-gapped? If they are running offline, confirm whether they also deployed a local Nominatim instance to avoid address lookup timeouts.