samchun-osrm / Dockerfile
JHyeok5's picture
Upload folder using huggingface_hub
e55418b verified
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"]