brouter (495679a8c450e072d209f0144354a5662acbfa85)

Published 2026-08-19 18:23:41 +00:00 by ullrich

Installation

docker pull git.ullrich.is/trails-cool/brouter:495679a8c450e072d209f0144354a5662acbfa85
sha256:c007d779f76a36208342ee451c6dc4cd69e81ad7ad25a6a5ef8c6fcdd69a41b1

Image layers

ARG RELEASE
ARG LAUNCHPAD_BUILD_ARCH
LABEL org.opencontainers.image.version=22.04
ADD file:c5143b228eb55f19ed4d3b653ad68ec7afe54ded0247e090ce3afb9e5484adfb 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 curl wget gnupg 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-11.0.31+11
RUN /bin/sh -c set -eux; ARCH="$(dpkg --print-architecture)"; case "${ARCH}" in amd64) ESUM='a6af3d61851f57eb79ef0189837522329717458bf230ee284da2d26634f1ea3a'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.31%2B11/OpenJDK11U-jre_x64_linux_hotspot_11.0.31_11.tar.gz'; ;; arm64) ESUM='eabe05fb80626ad24db17cf1df137855e77fbacbc83c11aaf243cedd224467de'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.31%2B11/OpenJDK11U-jre_aarch64_linux_hotspot_11.0.31_11.tar.gz'; ;; armhf) ESUM='5d3e988cdc8291779068c957c01d339f26178ff65d13af4671107b169e80a69f'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.31%2B11/OpenJDK11U-jre_arm_linux_hotspot_11.0.31_11.tar.gz'; ;; ppc64el) ESUM='11e58bf1eeae10f0dc1a98cc43bf97af270a0b516f6ff9fb3189024c5e22550a'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.31%2B11/OpenJDK11U-jre_ppc64le_linux_hotspot_11.0.31_11.tar.gz'; ;; s390x) ESUM='4c311b19aa3922951be288076f0f41a831ab7af32284da9b3e21cdaa251a078a'; BINARY_URL='https://github.com/adoptium/temurin11-binaries/releases/download/jdk-11.0.31%2B11/OpenJDK11U-jre_s390x_linux_hotspot_11.0.31_11.tar.gz'; ;; *) echo "Unsupported arch: ${ARCH}"; exit 1; ;; esac; 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; 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 18:23:41 +00:00
0
OCI / Docker
linux/amd64
99 MiB
Versions (7) View all