aboutsummaryrefslogtreecommitdiff
path: root/build_renfe/Dockerfile
blob: 02a84804ed2e25b01c5752fe07617e551845443d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
# Use a multi-stage build to download necessary files
FROM alpine/curl AS downloader

RUN curl -L https://download.geofabrik.de/europe/spain-latest.osm.pbf -o /spain-latest.osm.pbf

FROM osrm/osrm-backend AS builder

# Copy the downloaded OSM file from the downloader stage
RUN mkdir -p /data/standard /data/narrow
COPY --from=downloader /spain-latest.osm.pbf /data/standard/spain-latest.osm.pbf
COPY --from=downloader /spain-latest.osm.pbf /data/narrow/spain-latest.osm.pbf
COPY ./train_standard.lua /opt/train_standard.lua
COPY ./train_narrow.lua /opt/train_narrow.lua

# Extract the map data using osrm-train-profile (by Railnova)
RUN osrm-extract -p /opt/train_standard.lua /data/standard/spain-latest.osm.pbf
RUN osrm-partition /data/standard/spain-latest.osrm

# Prepare the map data for routing
RUN osrm-extract -p /opt/train_narrow.lua /data/narrow/spain-latest.osm.pbf
RUN osrm-partition /data/narrow/spain-latest.osrm

RUN osrm-customize /data/standard/spain-latest.osrm
RUN osrm-customize /data/narrow/spain-latest.osrm

RUN rm /data/standard/spain-latest.osm.pbf
RUN rm /data/narrow/spain-latest.osm.pbf

FROM osrm/osrm-backend

RUN mkdir -p /data/standard /data/narrow
COPY --from=builder /data/standard/spain-latest.osrm* /data/standard/
COPY --from=builder /data/narrow/spain-latest.osrm* /data/narrow/

# Expose the OSRM server port
EXPOSE 5000 5001

# Start the OSRM server
COPY ./start.sh /start.sh
RUN chmod +x /start.sh
EXPOSE 5000 5001
CMD ["/start.sh"]