Skip to content

"Why isn't Docker updated?" #417

@francislavoie

Description

@francislavoie

If you came here because you tried to update Caddy but found that the Docker image is not the latest version, here's why:

We publish Caddy's Docker image as part of the Docker Official Images program. This means when we push an update, there are multiple humans involved, plus a significant amount of CD pipeline time. These are the steps involved:

  • New Caddy release: A new version of Caddy is tagged by @mholt. All binaries are built and published as a GitHub release, which takes about 20-25 minutes. Since these binaries (with verified checksums) are what we ship in the Docker containers, we must wait for this step to finish.

  • Docker repo update: One of the Caddy Docker maintainers (usually myself or @hairyhenderson, whichever of us is available first) follows the steps outlined in the README. At the same time, we update other dependencies (such as Alpine/Windows base image versions, the Go version for the builder image, xcaddy, and dist files).
    Example PR: Caddy v2.10.2, Go 1.25, Alpine 3.22 #415

  • Docker Official Images PR: We then publish the updated Dockerfiles (via the stackbrew config) to the Docker Official Images repo.
    Example PR: caddy: v2.10.2 release docker-library/official-images#19745

  • Review by DOI maintainers: Next, we must wait for one of the Docker Official Images maintainers to review and merge the new release. This can take anywhere from minutes to days, depending on their availability (weekends, vacations, time zones, etc.).

  • Build process: Finally, the Caddy images (across all supported architectures and variants) are built using the DOI Jenkins job queue. This build step can take many hours, especially if other projects have recently pushed updates and the queue is long.


So, with that context, we ask for your patience. We do our best to get releases published as quickly as possible, but some parts of the process are outside our direct control.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions