The Docker Hub page for openintegrationengine/engine has no description — it's a blank page under the
tag list. Meanwhile this repo already has a genuinely good README (quick reference, supported images,
env vars, secrets, volumes). It just never makes it to Hub, so the ~3k people who land there see nothing.
Mostly plumbing, plus a couple of small things I noticed while reading it. Happy to send a PR for any or
all of this if it's welcome.
1. Publish the README to Docker Hub
deploy-image.yaml already does a docker/login-action with DOCKERHUB_USERNAME, so the credentials
are in place — it's a step at the end of the job:
- name: Sync Docker Hub description
uses: peter-evans/dockerhub-description@v4
with:
username: ${{ vars.DOCKERHUB_USERNAME }}
password: ${{ secrets.DOCKERHUB_TOKEN }} # needs a password/PAT with write perms
repository: openintegrationengine/engine
readme-filepath: ./README.md
2. Small accuracy fix in "Supported Images"
The section still maps the latest* tags to 4.5.2-tp.1-*, but real 4.5.2-* tags are published now,
so the list is a release behind.
3. Say what the variants mean
There are 19 tags across {version} × {alpine|ubuntu} × {|-jre|-jdk}, and the README lists them without
saying how to choose. A line each would go a long way — roughly: -jre is the runtime-only image most
people want; -jdk is there if you need a compiler in the container; alpine is much smaller with a
smaller package surface, ubuntu is the conservative glibc choice if you run native/JNI extensions.
(I don't want to overstate the alpine-vs-ubuntu tradeoff — you'd know it better than I would. The point
is just that today a user has no basis at all to pick.)
4. A short "pinning" note for production
Two things make this worth calling out explicitly:
- There's no bare
4.5.2 tag. docker pull openintegrationengine/engine:4.5.2 fails with
manifest unknown — you have to know to write 4.5.2-alpine or 4.5.2-ubuntu. So the natural way to
follow "pin to a version" doesn't work, and people quietly fall back to latest, which does. If a bare
4.5.2 alias is cheap to publish, that alone would fix most of it.
- Extensions are gated on an exact engine version. Anyone running
latest with any plugin installed
will have their extensions stop loading the moment the tag rolls to the next release. For an integration
engine that's a rough surprise, and it's not written down anywhere.
Something as small as: "latest is convenient for evaluation. For production, pin an explicit version
(or a digest) — extensions are tied to an exact engine version and will not load after latest moves."
Worth noting your own Dockerfile already pins its base images (ubuntu:noble-20251013,
eclipse-temurin:21.0.9_10-jre-alpine) — this is just extending the same courtesy to downstream users.
Thanks for the image work — the tag matrix and multi-arch support are genuinely nice to have.
The Docker Hub page for
openintegrationengine/enginehas no description — it's a blank page under thetag list. Meanwhile this repo already has a genuinely good README (quick reference, supported images,
env vars, secrets, volumes). It just never makes it to Hub, so the ~3k people who land there see nothing.
Mostly plumbing, plus a couple of small things I noticed while reading it. Happy to send a PR for any or
all of this if it's welcome.
1. Publish the README to Docker Hub
deploy-image.yamlalready does adocker/login-actionwithDOCKERHUB_USERNAME, so the credentialsare in place — it's a step at the end of the job:
2. Small accuracy fix in "Supported Images"
The section still maps the
latest*tags to4.5.2-tp.1-*, but real4.5.2-*tags are published now,so the list is a release behind.
3. Say what the variants mean
There are 19 tags across
{version} × {alpine|ubuntu} × {|-jre|-jdk}, and the README lists them withoutsaying how to choose. A line each would go a long way — roughly:
-jreis the runtime-only image mostpeople want;
-jdkis there if you need a compiler in the container;alpineis much smaller with asmaller package surface,
ubuntuis the conservative glibc choice if you run native/JNI extensions.(I don't want to overstate the alpine-vs-ubuntu tradeoff — you'd know it better than I would. The point
is just that today a user has no basis at all to pick.)
4. A short "pinning" note for production
Two things make this worth calling out explicitly:
4.5.2tag.docker pull openintegrationengine/engine:4.5.2fails withmanifest unknown— you have to know to write4.5.2-alpineor4.5.2-ubuntu. So the natural way tofollow "pin to a version" doesn't work, and people quietly fall back to
latest, which does. If a bare4.5.2alias is cheap to publish, that alone would fix most of it.latestwith any plugin installedwill have their extensions stop loading the moment the tag rolls to the next release. For an integration
engine that's a rough surprise, and it's not written down anywhere.
Something as small as: "
latestis convenient for evaluation. For production, pin an explicit version(or a digest) — extensions are tied to an exact engine version and will not load after
latestmoves."Worth noting your own Dockerfile already pins its base images (
ubuntu:noble-20251013,eclipse-temurin:21.0.9_10-jre-alpine) — this is just extending the same courtesy to downstream users.Thanks for the image work — the tag matrix and multi-arch support are genuinely nice to have.