Spaces:
Running
Running
| FROM ghcr.io/project-osrm/osrm-backend:latest | |
| # Create startup script inline (avoids CRLF line ending issues) | |
| RUN printf '#!/bin/sh\n\ | |
| set -e\n\ | |
| OSRM_DATA_DIR="${OSRM_DATA_DIR:-/data/osrm}"\n\ | |
| OSRM_FILE="$OSRM_DATA_DIR/south-korea-latest.osrm"\n\ | |
| OSRM_PORT="${OSRM_PORT:-7860}"\n\ | |
| if [ ! -f "$OSRM_FILE" ]; then\n\ | |
| echo "$(date -Iseconds) [OSRM] First-time setup..."\n\ | |
| mkdir -p "$OSRM_DATA_DIR"\n\ | |
| cd "$OSRM_DATA_DIR"\n\ | |
| apt-get update -qq && apt-get install -y -qq wget 2>/dev/null\n\ | |
| echo "$(date -Iseconds) [OSRM] Downloading South Korea OSM data (~255MB)..."\n\ | |
| wget -q https://download.geofabrik.de/asia/south-korea-latest.osm.pbf\n\ | |
| echo "$(date -Iseconds) [OSRM] Extracting (foot profile)..."\n\ | |
| osrm-extract -p /opt/foot.lua south-korea-latest.osm.pbf\n\ | |
| echo "$(date -Iseconds) [OSRM] Partitioning..."\n\ | |
| osrm-partition south-korea-latest.osrm\n\ | |
| echo "$(date -Iseconds) [OSRM] Customizing..."\n\ | |
| osrm-customize south-korea-latest.osrm\n\ | |
| rm -f south-korea-latest.osm.pbf\n\ | |
| echo "$(date -Iseconds) [OSRM] Data preparation complete!"\n\ | |
| cd /\n\ | |
| else\n\ | |
| echo "$(date -Iseconds) [OSRM] Using cached data."\n\ | |
| fi\n\ | |
| echo "$(date -Iseconds) [OSRM] Starting server on port $OSRM_PORT..."\n\ | |
| exec osrm-routed --algorithm mld --max-table-size 200 --port "$OSRM_PORT" "$OSRM_FILE"\n' \ | |
| > /start.sh && chmod +x /start.sh | |
| EXPOSE 7860 | |
| CMD ["/start.sh"] | |