- Shell 67.9%
- Makefile 19.7%
- Dockerfile 7.8%
- Jinja 4.6%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| .compose | ||
| .container | ||
| .forgejo/workflows | ||
| .github/workflows | ||
| .makefile | ||
| docs | ||
| LICENSES | ||
| scaffold | ||
| .claudeignore | ||
| .containerignore | ||
| .dockerignore | ||
| .gitattributes | ||
| .gitignore | ||
| .gitmodules | ||
| .yamllint | ||
| AGENTS.md | ||
| AI_POLICY.md | ||
| CITATION.cff | ||
| CLAUDE.md | ||
| CODE_OF_CONDUCT.md | ||
| CODEOWNERS | ||
| CONTRIBUTING.md | ||
| Dockerfile | ||
| lefthook.yaml | ||
| LICENSE | ||
| Makefile | ||
| projectfile.yaml | ||
| README.md | ||
| SECURITY.md | ||
| SUPPORT.md | ||
B19 / Java
Oracle and Temurin JDKs in series 25 and 27, with ZGC enabled, slim jlink runtimes for downstream images, and optional JMX metrics.
Features
- Runtime CA certificate import
- Compromised certificate authorities removed from the JDK truststore
- JDK from upstream tarball with distribution choice
- Opt-in Prometheus metrics via JMX
- Production-tuned JVM flags
- Slim Java runtime for application images
It also inherits the features of B19 / Ubuntu — see Features for the full list.
What this provides
- Container image
ghcr.io/damian-buho/b19/java:oracle-25 - Container image
ghcr.io/damian-buho/b19/java:oracle-27 - Container image
ghcr.io/damian-buho/b19/java:temurin-25 - Container image
ghcr.io/damian-buho/b19/java:temurin-27 - Container image
damianbuho/b19-java:oracle-25 - Container image
damianbuho/b19-java:oracle-27 - Container image
damianbuho/b19-java:temurin-25 - Container image
damianbuho/b19-java:temurin-27
Installation
Pull the published container image:
Pull from GHCR — linux/amd64, linux/arm64, linux/riscv64
docker pull ghcr.io/damian-buho/b19/java:oracle-25
Pull from DockerHub — linux/amd64
docker pull damianbuho/b19-java:oracle-25
Distribution: oracle | temurin
Series: 25 | 27
Stable releases also publish X.Y.Z, X.Y and X tags — pull the precision you want to pin.
If the registries above are unreachable, pull from the origin instead:
Pull from Kiota — linux/amd64
docker pull kiota.ch/b19/java:oracle-25
Distribution: oracle | temurin
Series: 25 | 27
Usage
Build on top of this image:
From GHCR
FROM ghcr.io/damian-buho/b19/java:oracle-25
From DockerHub
FROM damianbuho/b19-java:oracle-25
Distribution: oracle | temurin
Series: 25 | 27
For the recommended multi-stage pattern and the build-hook system (build.d), scaffold a derivative with b19/scripts/scaffold.sh from m6e/b19.
Building
Clone the repository with its submodules:
git clone --recurse-submodules https://github.com/damian-buho/b19-java java && cd java
Build the container image locally:
make container-build
Run make with no arguments for the default target; run make help to list every target.
For the local dev loop, make dev-container brings up the dev-container.
Pipeline entry points:
make analyzed— Run the heavy analysis sweep (mutation testing, benchmarks)make audited— Re-scan the pinned dependencies and published artifacts for new vulnerabilitiesmake check-outdated— Report every pinned dependency that lags upstreammake release-is-ready— Run the pseudo-CI pipeline locally — build, test and scan, without publishing
Documentation
Policies
Links
License
This project is licensed under MIT — see the LICENSE file for details.