fix(setup): install Docker 29.4.2 on Ubuntu 26.04 to fix failed setup#4660
fix(setup): install Docker 29.4.2 on Ubuntu 26.04 to fix failed setup#4660pparage wants to merge 1 commit into
Conversation
There was a problem hiding this comment.
💡 Codex Review
Here are some automated review suggestions for this pull request.
Reviewed commit: f43d171cd8
ℹ️ About Codex in GitHub
Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you
- Open a pull request for review
- Mark a draft as ready
- Comment "@codex review".
If Codex has suggestions, it will comment; otherwise it will react with 👍.
Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".
| # for this release. This must run after OS_VERSION is resolved and before the | ||
| # banner so the reported Docker version stays accurate. | ||
| if [ "$OS_TYPE" = "ubuntu" ] && [ "$OS_VERSION" = "26.04" ]; then | ||
| DOCKER_VERSION=29.3.1 |
There was a problem hiding this comment.
Pick a Docker pin that exists on s390x
On Ubuntu 26.04 s390x this pin still makes get.docker.com --version fail: Docker's Ubuntu docs list s390x as a supported architecture (https://docs.docker.com/engine/install/ubuntu/), but the official resolute s390x pool has docker-ce starting at 29.4.0 and no 29.3.1 (https://download.docker.com/linux/ubuntu/dists/resolute/pool/stable/s390x/). The convenience script searches apt-cache madison docker-ce | grep '$VERSION' and exits when no match is found, so gate this by SYS_ARCH or choose a version present for every supported 26.04 architecture.
Useful? React with 👍 / 👎.
The provisioning script pins DOCKER_VERSION=28.5.0 and passes it to get.docker.com via --version. Ubuntu 26.04 (resolute) ships a docker-ce repo with no 28.5.0, so the pin is not found in apt-cache madison and Docker is never installed, aborting setup with 'Failed to initialize Docker Swarm'. Repin to a version present on every architecture Docker ships resolute for. amd64/arm64/armhf start at 29.3.1, but the s390x pool only carries 29.4.0-29.4.2, so 29.3.1 still fails there; 29.4.2 is the newest version common to all shipped arches (ppc64le is not shipped for resolute). The override applies to Ubuntu 26.04 only; all other releases keep 28.5.0, and it runs before the install banner so the reported version stays accurate and both the full-server and build-server paths are covered. Fixes Dokploy#4327, Dokploy#4349. Closes Dokploy#4501.
f43d171 to
b9a8064
Compare
What
Ubuntu 26.04 (Plucky Puffin /
resolute) installs fail because the provisioning script pinsDOCKER_VERSION=28.5.0and passes it toget.docker.comvia--version. Theresolutedocker-ce repo has no28.5.0, so the convenience script'sapt-cache madison docker-ce | grep "$VERSION"finds nothing and exits:Docker is never installed and setup aborts.
Root cause
Not missing upstream support (Docker's repo does support
resolute) — it's a version-pin mismatch. The pinned28.5.0simply isn't in theresolutepool. Correctly diagnosed in #4501.Fix
Repin the Docker version for Ubuntu 26.04 only, to a version present on every architecture Docker ships
resolutefor:Why
29.4.2and not the amd64 floor (29.3.1): the per-archresolutepools don't agree.s390xis the binding architecture.29.3.1would still fail on s390x;29.5.xwould fail on s390x too.29.4.2is the newest version common to all shipped arches, so a single pin works withoutSYS_ARCHgating. Verified against the livedownload.docker.com/.../dists/resolute/pool/stable/<arch>/listings.OS_TYPE=ubuntu+OS_VERSION=26.04; every other OS/release keeps28.5.0byte-for-byte.VERSION_ID(consistent with the rest of the script; codenames are never parsed).OS_VERSIONis resolved and before the install banner, so the reported Docker version stays accurate and both the full-server and build-server paths are covered.sh-safe (verified withsh -n).Note for maintainers
The standalone
install.shserved fromdokploy.com/install.sh(single-host bootstrap) carries the sameDOCKER_VERSION=28.5.0pin and will hit the identical failure. It lives outside this repo, so it needs the same override applied wherever that asset is built.Fixes #4327, #4349. Closes #4501.