Skip to content

Feature Request: Multi-platform Docker Builds #2257

@djenniex-gg

Description

@djenniex-gg

Feature Request: Multi-platform Docker Builds

The current Digger Docker images appear to be built for a single architecture, primarily amd64. This presents a challenge for development, CI/CD, and production environments that use different CPU architectures, such as Apple Silicon (M1/M2/M3) Macs or ARM-based servers.

When running Digger in these environments, Docker must use emulation (e.g., QEMU) to run the amd64 image, which can lead to significant performance degradation, increased resource consumption, and in some cases, unexpected errors or instability. This makes it difficult for teams with heterogeneous environments to use Digger effectively.

I would like Digger's official Docker images to be built and pushed as multi-platform images, leveraging the docker buildx tool. This would create a single manifest that points to images for multiple architectures, such as linux/amd64 and linux/arm64.

The goal is that when a user runs docker pull diggerhq/digger_backend:latest, Docker automatically pulls the image that is native to their machine's architecture, eliminating the need for emulation and ensuring optimal performance.

Currently, a workaround is to manually build a native image from the Digger source code on the target machine. However, this adds a complex, manual step to the self-hosting or CI/CD setup process and is not a sustainable or scalable solution for many teams.

Supporting multi-platform builds is crucial for the following reasons:

  • Performance: It provides a significant performance boost for developers and CI runners on ARM-based hardware.
  • Wider Adoption: It makes Digger more accessible to teams that have already adopted ARM hardware, such as those using M-series MacBooks or Graviton-based AWS EC2 instances.
  • Simpler User Experience: It removes a major pain point for self-hosting Digger and simplifies CI/CD pipeline configurations.
  • Future-Proofing: As the industry continues to shift towards ARM architecture for efficiency, this feature will ensure Digger remains a relevant and easy-to-use tool.

Thank you for considering this feature request.

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