Dokploy / Dokploy/dokploy

Native multi-architecture Docker build support (amd64 + arm64) via buildx

Open
#4,628 0 comments 6 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
TypeScript
Stars
37.4k
Forks
3k
Avg merge
1d 3h
Merged PRs (30d)
73

Description

What problem will this feature address?

Currently, Dokploy builds Docker images only for linux/amd64 architecture. When building on an x86 machine and deploying to an ARM VM (e.g., Raspberry Pi, ARM64 server), containers fail with exec format error because the binaries are incompatible with the ARM architecture.

Describe the solution you'd like

Add native multi-architecture Docker build support using docker buildx with the following options:

  1. UI option in Application settings:

    • Add a "Build Architecture" field in Advanced settings
    • Options: amd64 only, arm64 only, multi-arch (amd64 + arm64)
    • When multi-arch is selected, Dokploy runs:
      docker buildx create --name multiarch --use
      docker buildx build --platform linux/amd64,linux/arm64 -t <image> --push .
      
  2. Option to use a buildx builder with native ARM support:

    • Allow specifying a custom buildx builder name
    • Support for external build servers with native ARM hardware (no QEMU)
  3. Registry compatibility:

    • Ensure the build push creates a multi-arch manifest (Docker Hub/GHCR compatible)
    • Dokploy deployment automatically pulls the correct architecture variant based on the target host
  4. Performance optimization:

    • Detect if the build server has native ARM support and skip QEMU when possible
    • Provide build caching for multi-arch builds to reduce rebuild time
Describe alternatives you've considered
  1. Build externally with buildx and deploy via Dokploy:

    • Manually build with docker buildx on x86 (with QEMU) or CI with native ARM
    • Push multi-arch image to registry
    • Configure Dokploy to use the pre-built image (not building from source)
    • Problem: Requires external CI/build pipeline, loses Dokploy's native build workflow
  2. Use a dedicated ARM build server:

    • Set up a separate ARM VPS as Dokploy build server
    • Configure Dokploy to use that server for builds
    • Problem: Still requires manual setup, extra cost, and doesn't integrate multi-arch in UI
Will you send a PR to implement it?

No

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by locating the Application advanced settings entry point and the existing Docker image build workflow. Trace how build commands, builder configuration, registry pushes, and deployment image pulls are connected. Done means the UI supports the requested architecture and builder choices, multi-architecture manifests are pushed correctly, and deployments select the target host architecture.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker
Domain
build-system, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.