Move Docker base image to Debian trixie for Java 21

Planetiler 0.10.2 needs Java 21+; bookworm's default-jre-headless (and
its backports) only goes up to 17, causing a real build to fail with
UnsupportedClassVersionError. trixie's default-jre-headless is Java 21.
This commit is contained in:
randy committed 2026-09-11 22:13:30 +02:00
1 parent a84e6ae22f
commit 619f2293df
2 files changed
+8 -4

No files matched your search

+6 -2
View File
@@ -1,4 +1,7 @@
FROM ruby:4.0.6-slim-bookworm # trixie, not bookworm: Planetiler needs Java 21+ (UnsupportedClassVersionError
# otherwise) and bookworm's own default-jre-headless is only Java 17 —
# bookworm-backports doesn't carry a newer one either, only trixie's does.
FROM ruby:4.0.6-slim-trixie
# build-essential: puma has a native (C) extension; harmless if the # build-essential: puma has a native (C) extension; harmless if the
# platform-specific gem in Gemfile.lock already has a precompiled binary # platform-specific gem in Gemfile.lock already has a precompiled binary
@@ -6,7 +9,8 @@ FROM ruby:4.0.6-slim-bookworm
# ca-certificates/curl: needed for the go-pmtiles/planetiler.jar downloads # ca-certificates/curl: needed for the go-pmtiles/planetiler.jar downloads
# below (also handy for anyone debugging inside a running container). # below (also handy for anyone debugging inside a running container).
# default-jre-headless: Planetiler is a JVM tool (see PLANETILER_VERSION # default-jre-headless: Planetiler is a JVM tool (see PLANETILER_VERSION
# below) — headless since this never touches a display. # below) — headless since this never touches a display; trixie's version
# of this package is Java 21, see above.
# osmium-tool: merges multiple countries' OSM extracts into one file before # osmium-tool: merges multiple countries' OSM extracts into one file before
# handing them to Planetiler (lib/maptool/pmtiles_builder.rb) — a normal # handing them to Planetiler (lib/maptool/pmtiles_builder.rb) — a normal
# Debian package, no separate download/pinning needed like the other two. # Debian package, no separate download/pinning needed like the other two.
+2 -2
View File
@@ -134,7 +134,7 @@ terrain.pmtiles regeneration.
| https://github.com/onthegomap/planetiler | https://github.com/onthegomap/planetiler
| osmium-tool (`osmium`, installed via the `osmium-tool` Debian package) | osmium-tool (`osmium`, installed via the `osmium-tool` Debian package)
| (Debian bookworm's packaged version) | (Debian trixie's packaged version)
| GPL-3.0 | GPL-3.0
| https://github.com/osmcode/osmium-tool | https://github.com/osmcode/osmium-tool
|=== |===
@@ -144,5 +144,5 @@ To update a vendored library: download its package (e.g.
`public/vendor/<name>/`, and update the version in this file. To `public/vendor/<name>/`, and update the version in this file. To
update go-pmtiles or Planetiler, bump `PMTILES_VERSION`/ update go-pmtiles or Planetiler, bump `PMTILES_VERSION`/
`PLANETILER_VERSION` in the `Dockerfile` and the version here — `PLANETILER_VERSION` in the `Dockerfile` and the version here —
osmium-tool tracks whatever version Debian bookworm currently packages, osmium-tool tracks whatever version Debian trixie currently packages,
nothing to pin on this side. nothing to pin on this side.