Skip to content

feat(docker): add multi-arch builds for amd64 and arm64#5577

Open
alexkreidler wants to merge 2 commits intoNangoHQ:masterfrom
alexkreidler:feat/multi-arch-docker
Open

feat(docker): add multi-arch builds for amd64 and arm64#5577
alexkreidler wants to merge 2 commits intoNangoHQ:masterfrom
alexkreidler:feat/multi-arch-docker

Conversation

@alexkreidler
Copy link
Contributor

@alexkreidler alexkreidler commented Mar 5, 2026

Summary

  • Build and push multi-platform Docker images (linux/amd64 + linux/arm64) so images work natively on ARM hosts (e.g. Apple Silicon Macs)
  • Local builds stay single-platform due to buildx type=docker limitation; multi-arch only applies when pushing to registry
  • Remove hardcoded platform: linux/amd64 from docker-compose.yaml

Closes #5576 and closes NAN-4926

Changes

  • scripts/build_docker.shpush action now builds linux/amd64,linux/arm64 via type=registry
  • scripts/build_docker_self_hosted.sh — restructured to build+push multi-arch in one step when PUSH=true
  • .github/workflows/build-image.yaml — split build step so authenticated builds use push (multi-arch)
  • docker-compose.yaml — removed platform: linux/amd64 from nango-server

Test plan

  • Local build action succeeds (amd64, type=docker)
  • Self-hosted local build succeeds
  • CI builds both platforms and pushes multi-arch manifest to Docker Hub

🤖 Generated with Claude Code


This PR updates Docker build scripts and CI to produce multi-architecture images for linux/amd64 and linux/arm64 when pushing to a registry, while keeping local builds single-arch due to buildx output constraints. It also removes the hardcoded platform override from docker-compose.yaml so the hosted image can run natively on ARM hosts.

Possible Issues

• If PUSH is not passed as true, scripts/build_docker_self_hosted.sh will default to amd64-only builds, which may surprise callers expecting multi-arch.
• CI multi-arch builds require buildx and registry auth; failures will now block multi-arch push paths.


This summary was automatically generated by @propel-code-bot

alexkreidler and others added 2 commits March 5, 2026 12:28
Build and push multi-platform Docker images (linux/amd64 + linux/arm64)
so the images work natively on ARM hosts like Apple Silicon Macs.

- Build scripts use multi-platform when pushing to registry
- Local builds stay single-platform (buildx type=docker limitation)
- Remove hardcoded platform: linux/amd64 from docker-compose.yaml

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@alexkreidler alexkreidler marked this pull request as ready for review March 5, 2026 20:33
Copy link
Contributor

@propel-code-bot propel-code-bot bot left a comment

Choose a reason for hiding this comment

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

No issues found; multi-arch build updates look sound and ready.

Status: No Issues Found | Risk: Low

Review Details

📁 4 files reviewed | 💬 0 comments

Instruction Files
├── .claude/
│   ├── agents/
│   │   └── nango-docs-migrator.md
│   └── skills/
│       ├── agent-builder-skill/
│       │   ├── EXAMPLES.md
│       │   └── SKILL.md
│       ├── creating-integration-docs/
│       │   └── SKILL.md
│       └── creating-skills-skill/
│           └── SKILL.md
├── AGENTS.md
└── GEMINI.md

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Publish multi-arch (ARM64/aarch64) Docker images

1 participant