Native multi-architecture Docker build support (amd64 + arm64) via buildx
Nobody has claimed this yet.
- 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:
-
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 .
-
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)
-
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
-
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
-
Build externally with buildx and deploy via Dokploy:
- Manually build with
docker buildxon 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
- Manually build with
-
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
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- 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