brouter (0f0f4b172fc9375696d7c66e3c802bc59c3e6afc)

Published 2026-08-19 12:16:39 +00:00 by ullrich

Installation

docker pull git.ullrich.is/trails-cool/brouter:0f0f4b172fc9375696d7c66e3c802bc59c3e6afc
sha256:e5b06d962ff070cbd6157328b954c6ebd001d092d2ed2f8a4b9c9f2cc1177e07

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=22.04
ADD file:799f4e238d67485cc109d93512f4fe6f75bafc26a3476772191154125e52201d in /
CMD ["/bin/bash"]
ENV JAVA_HOME=/opt/java/openjdk
ENV PATH=/opt/java/openjdk/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
ENV LANG=en_US.UTF-8 LANGUAGE=en_US:en LC_ALL=en_US.UTF-8
RUN /bin/sh -c set -eux; apt-get update; DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends fontconfig ca-certificates p11-kit tzdata locales ; echo "en_US.UTF-8 UTF-8" >> /etc/locale.gen; locale-gen en_US.UTF-8; rm -rf /var/lib/apt/lists/* # buildkit
ENV JAVA_VERSION=jdk-25.0.3+9
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='487ad434d8b121ae3902d5ad9cb830cd8e1f75fefad6e2ba80f89d60e3db95d7'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jre_x64_linux_hotspot_25.0.3_9.tar.gz'; ;; arm64) ESUM='d12d5b19ff7f6c4a99fd4f9eecede2c96e64df7d1f41cc84f2e9c9b38408600b'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jre_aarch64_linux_hotspot_25.0.3_9.tar.gz'; ;; ppc64el) ESUM='82daf66b73505d3974d831bd244acbb1123a340b7752ced449dcdca69ff3a780'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jre_ppc64le_linux_hotspot_25.0.3_9.tar.gz'; ;; s390x) ESUM='ee513969bef35f10afb7d06840d9a421138a3d30c062cde3dda8fe780dc451a2'; BINARY_URL='https://github.com/adoptium/temurin25-binaries/releases/download/jdk-25.0.3%2B9/OpenJDK25U-jre_s390x_linux_hotspot_25.0.3_9.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends wget gnupg; wget --progress=dot:giga -O /tmp/openjdk.tar.gz ${BINARY_URL}; wget --progress=dot:giga -O /tmp/openjdk.tar.gz.sig ${BINARY_URL}.sig; export GNUPGHOME="$(mktemp -d)"; gpg --batch --keyserver keyserver.ubuntu.com --recv-keys 3B04D753C9050D9A5D343F39843C48A565F8F04B; gpg --batch --verify /tmp/openjdk.tar.gz.sig /tmp/openjdk.tar.gz; rm -rf "${GNUPGHOME}" /tmp/openjdk.tar.gz.sig; echo "${ESUM} */tmp/openjdk.tar.gz" | sha256sum -c -; mkdir -p "$JAVA_HOME"; tar --extract --file /tmp/openjdk.tar.gz --directory "$JAVA_HOME" --strip-components 1 --no-same-owner ; rm -f /tmp/openjdk.tar.gz; apt-mark auto '.*' > /dev/null; apt-mark manual $savedAptMark > /dev/null; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*; find "$JAVA_HOME/lib" -name '*.so' -exec dirname '{}' ';' | sort -u > /etc/ld.so.conf.d/docker-openjdk.conf; ldconfig; java -Xshare:dump; # buildkit
RUN /bin/sh -c set -eux; echo "Verifying install ..."; echo "java --version"; java --version; echo "Complete." # buildkit
COPY --chmod=755 entrypoint.sh /__cacert_entrypoint.sh # buildkit
ENTRYPOINT ["/__cacert_entrypoint.sh"]
WORKDIR /brouter
ARG BROUTER_VERSION=1.7.9
RUN |1 BROUTER_VERSION=1.7.9 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends wget unzip curl && wget -q "https://github.com/abrensch/brouter/releases/download/v${BROUTER_VERSION}/brouter-${BROUTER_VERSION}.zip" && unzip "brouter-${BROUTER_VERSION}.zip" && mv "brouter-${BROUTER_VERSION}"/* . && rmdir "brouter-${BROUTER_VERSION}" && rm "brouter-${BROUTER_VERSION}.zip" && apt-get purge -y unzip && apt-get autoremove -y && rm -rf /var/lib/apt/lists/* # buildkit
RUN |1 BROUTER_VERSION=1.7.9 /bin/sh -c addgroup --system app && adduser --system --ingroup app app && mkdir -p /data/segments /data/profiles && chown -R app:app /data # buildkit
COPY download-segments.sh /brouter/download-segments.sh # buildkit
COPY entrypoint.sh /brouter/entrypoint.sh # buildkit
RUN |1 BROUTER_VERSION=1.7.9 /bin/sh -c chmod +x /brouter/download-segments.sh /brouter/entrypoint.sh # buildkit
RUN |1 BROUTER_VERSION=1.7.9 /bin/sh -c cp -r profiles2/* /data/profiles/ 2>/dev/null || true && mv brouter-*-all.jar brouter.jar # buildkit
RUN |1 BROUTER_VERSION=1.7.9 /bin/sh -c for f in /data/profiles/*.brf; do if grep -q "dummyUsage" "$f"; then grep -q "maxspeed" "$f" || sed -i '/assign dummyUsage/a assign dummyUsage2 = maxspeed=' "$f"; grep -q "tracktype" "$f" || sed -i '/assign dummyUsage/a assign dummyUsage3 = tracktype=' "$f"; elif grep -q "context:node" "$f"; then sed -i '/---context:node/i assign dummyUsage2 = maxspeed=\nassign dummyUsage3 = tracktype=' "$f"; fi; done # buildkit
USER app
EXPOSE map[17777/tcp:{}]
ENV JAVA_OPTS=-Xmx1024M -Xms256M -Xmn64M
ENV BROUTER_THREADS=4
ENTRYPOINT ["/brouter/entrypoint.sh"]
CMD ["sh" "-c" "java $JAVA_OPTS -DmaxRunningTime=300 -cp brouter.jar btools.server.RouteServer /data/segments /data/profiles /data/profiles 17777 $BROUTER_THREADS"]

Labels

Key Value
org.opencontainers.image.version 22.04
Details
Container
2026-08-19 12:16:39 +00:00
0
OCI / Docker
linux/amd64
110 MiB
Versions (7) View all