- mehrere Quellen (ch, de) mit je eigenem Fahrplan und Echtzeit-Feed - OSM CH+DE, mit osmium auf Schienennetz gefiltert, für pfaedle - Landesgrenze CH gegen doppelte grenzüberschreitende Züge - Import robust gegen andere Spaltenreihenfolge (gtfs.de) - Kacheln für CH+DE (Zoom 14) Noch nicht vollständig getestet (pfaedle auf Deutschland läuft). Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01X48pE4bzjHej8w9HyZXCjb
29 lines
1.3 KiB
Docker
29 lines
1.3 KiB
Docker
# pfaedle: rechnet aus OpenStreetMap die echten Streckenverläufe
|
|
FROM debian:trixie AS pfaedle
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ca-certificates git cmake g++ make libzip-dev zlib1g-dev libbz2-dev \
|
|
&& git clone --depth 1 --recurse-submodules --shallow-submodules https://github.com/ad-freiburg/pfaedle /src \
|
|
&& cmake -S /src -B /build -DCMAKE_BUILD_TYPE=Release \
|
|
&& make -C /build -j"$(nproc)" pfaedle \
|
|
&& make -C /build install
|
|
|
|
# pmtiles: schneidet die Kartenkacheln für die Region aus
|
|
FROM golang:1.25-trixie AS pmtiles
|
|
RUN go install github.com/protomaps/go-pmtiles@v1.31.2
|
|
|
|
FROM python:3.13-slim-trixie
|
|
RUN apt-get update && apt-get install -y --no-install-recommends libzip5 zlib1g libbz2-1.0 libgomp1 osmium-tool \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
COPY --from=pfaedle /usr/local/bin/pfaedle /usr/local/bin/
|
|
COPY --from=pfaedle /usr/local/etc/pfaedle /usr/local/etc/pfaedle
|
|
COPY --from=pmtiles /go/bin/go-pmtiles /usr/local/bin/pmtiles
|
|
WORKDIR /app
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
COPY trainpulse trainpulse
|
|
COPY web web
|
|
COPY tests tests
|
|
ENV TRAINPULSE_DATA=/data PYTHONUNBUFFERED=1
|
|
EXPOSE 8080
|
|
CMD ["uvicorn", "trainpulse.server:app", "--host", "0.0.0.0", "--port", "8080", "--proxy-headers"]
|