Skip to content

Add ARM64 (Apple Silicon) support for container builds#45

Open
claw-explorer wants to merge 1 commit intomcoia:masterfrom
claw-explorer:arm64-support
Open

Add ARM64 (Apple Silicon) support for container builds#45
claw-explorer wants to merge 1 commit intomcoia:masterfrom
claw-explorer:arm64-support

Conversation

@claw-explorer
Copy link
Copy Markdown

Summary

  • Fix hardcoded amd64 Anubis deb package URL to use ansible_architecture detection (same pattern already used for websocketd_filename)
  • Enables native ARM64/aarch64 container builds on Apple Silicon Macs, AWS Graviton, and other ARM64 platforms

Changes

The anubis_deb_package URL in generic-dockerhub/vars.yml and generic-tarball/vars.yml was hardcoded to anubis_1.19.1_amd64.deb. This PR makes it architecture-aware:

# Before
anubis_deb_package: https://...anubis_1.19.1_amd64.deb

# After  
anubis_deb_package: "https://...anubis_1.19.1_{% if ansible_architecture == 'aarch64' %}arm64{% else %}amd64{% endif %}.deb"

This matches the existing pattern used for websocketd_filename on line 22 of the same files. Anubis provides official arm64 .deb packages, so no upstream changes are needed.

Motivation

The Evergreen ILS Docker image (mobiusoffice/evergreen-ils) is currently only available for linux/amd64. Running it on Apple Silicon requires QEMU emulation, which is significantly slower. With this fix, the image can be built natively on ARM64 — everything else in the Dockerfile and Ansible playbooks is already architecture-independent.

Testing

  • Verified Anubis arm64 .deb exists at the generated URL
  • Building natively on Apple Silicon M-series (macOS arm64 with podman)
  • No changes to amd64 behavior (the Jinja2 conditional defaults to amd64)

Follow-up suggestion

Consider publishing multi-architecture images to Docker Hub using docker buildx or podman manifest so that mobiusoffice/evergreen-ils tags automatically serve the correct architecture. Happy to help with a CI workflow for this.

🤖 Generated with Claude Code

The anubis_deb_package URL was hardcoded to the amd64 .deb, which
breaks container builds on ARM64 platforms (Apple Silicon, AWS
Graviton, etc.). This uses the same ansible_architecture detection
pattern already used for websocketd_filename.

Anubis provides official arm64 .deb packages, so this is a
straightforward URL fix with no functional changes on amd64.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
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.

1 participant