Skip to content

fix(setup): install Docker 29.4.2 on Ubuntu 26.04 to fix failed setup#4660

Open
pparage wants to merge 1 commit into
Dokploy:canaryfrom
pparage:fix/ubuntu-26.04-docker-version
Open

fix(setup): install Docker 29.4.2 on Ubuntu 26.04 to fix failed setup#4660
pparage wants to merge 1 commit into
Dokploy:canaryfrom
pparage:fix/ubuntu-26.04-docker-version

Conversation

@pparage

@pparage pparage commented Jun 17, 2026

Copy link
Copy Markdown
Contributor

What

Ubuntu 26.04 (Plucky Puffin / resolute) installs fail because the provisioning script pins DOCKER_VERSION=28.5.0 and passes it to get.docker.com via --version. The resolute docker-ce repo has no 28.5.0, so the convenience script's apt-cache madison docker-ce | grep "$VERSION" finds nothing and exits:

INFO: Searching repository for VERSION '28.5.0'
ERROR: '28.5.0' not found amongst apt-cache madison results
sh: 214: docker: not found
Error: Failed to initialize Docker Swarm

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 pinned 28.5.0 simply isn't in the resolute pool. Correctly diagnosed in #4501.

Fix

Repin the Docker version for Ubuntu 26.04 only, to a version present on every architecture Docker ships resolute for:

if [ "$OS_TYPE" = "ubuntu" ] && [ "$OS_VERSION" = "26.04" ]; then
	DOCKER_VERSION=29.4.2
fi

Why 29.4.2 and not the amd64 floor (29.3.1): the per-arch resolute pools don't agree. s390x is the binding architecture.

Arch Available docker-ce in resolute pool
amd64 / arm64 / armhf 29.3.1 -> 29.5.3
s390x 29.4.0 -> 29.4.2 (no 29.3.1, no 29.5.x)
ppc64le not shipped for resolute

29.3.1 would still fail on s390x; 29.5.x would fail on s390x too. 29.4.2 is the newest version common to all shipped arches, so a single pin works without SYS_ARCH gating. Verified against the live download.docker.com/.../dists/resolute/pool/stable/<arch>/ listings.

  • Scoped to OS_TYPE=ubuntu + OS_VERSION=26.04; every other OS/release keeps 28.5.0 byte-for-byte.
  • Detects via VERSION_ID (consistent with the rest of the script; codenames are never parsed).
  • Placed after OS_VERSION is resolved and before the install banner, so the reported Docker version stays accurate and both the full-server and build-server paths are covered.
  • POSIX sh-safe (verified with sh -n).

Note for maintainers

The standalone install.sh served from dokploy.com/install.sh (single-host bootstrap) carries the same DOCKER_VERSION=28.5.0 pin 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.

@pparage pparage requested a review from Siumauricio as a code owner June 17, 2026 19:11
@dosubot dosubot Bot added size:XS This PR changes 0-9 lines, ignoring generated files. bug Something isn't working labels Jun 17, 2026

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

💡 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

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P2 Badge 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.
@pparage pparage force-pushed the fix/ubuntu-26.04-docker-version branch from f43d171 to b9a8064 Compare June 17, 2026 19:21
@dosubot dosubot Bot added size:S This PR changes 10-29 lines, ignoring generated files. and removed size:XS This PR changes 0-9 lines, ignoring generated files. labels Jun 17, 2026
@pparage pparage changed the title fix(setup): install Docker 29.3.1 on Ubuntu 26.04 to fix failed setup fix(setup): install Docker 29.4.2 on Ubuntu 26.04 to fix failed setup Jun 17, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working size:S This PR changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Ubuntu 26.04 compatibility update Installation fails on Ubuntu 26.04 (Plucky Puffin) due to invalid repository codename 'resolute'

1 participant