brouter (df4bbef7770db4e97f35689874005c10c1ef43c7)
Published 2026-07-25 20:30:14 +00:00 by ullrich
Installation
docker pull git.ullrich.is/trails-cool/brouter:df4bbef7770db4e97f35689874005c10c1ef43c7sha256:b48c2322cd41992f6c09f849e2368b2323aea101f795a52bc27f8b94139bbe34Image 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
2026-07-25 20:30:14 +00:00
Versions (7)
View all
Container
0
OCI / Docker
linux/amd64
99 MiB
7f56119f05c93209f5dc8c023e5aa46b064492b0
2026-08-24
latest
2026-08-24
495679a8c450e072d209f0144354a5662acbfa85
2026-08-19
0f0f4b172fc9375696d7c66e3c802bc59c3e6afc
2026-08-19
9152dfcef910f73df841ab124c38b6e431570f79
2026-07-27