Skip to content

hydra-node 2.3.0 Docker image fails on Apple Silicon (M1) — native binary and Linux both work #2812

Description

@aniadev

Context & versions

  • hydra-node: 2.3.0, image ghcr.io/cardano-scaling/hydra-node:2.3.0
  • Fails on: Apple Silicon (M1 Pro), macOS 26.5.2 (25F84), Docker Desktop 4.84.0 (234817)
  • Rosetta for x86_64/amd64 emulation: both tested
  • Network: preprod, head running in offline and online mode

Works fine:

  • same image, same command, on Linux ubuntu 2404
  • hydra-node 2.3.0 native MacOS ARM64 binary on the same machine

Not tested: Intel Mac.

What happens

The container starts and then hangs indefinitely with no output at all — no log
line, no error, no exit. It has to be killed manually.

The published image has no multi-arch manifest list, so there is no linux/arm64
variant for Docker to select on Apple Silicon. It pulls the amd64 image and runs
it under emulation, which appears to be where it hangs.

docker manifest inspect ghcr.io/cardano-scaling/hydra-node:2.3.0 returns a plain
application/vnd.docker.distribution.manifest.v2+json (single image manifest,
one layer) rather than a manifest list:

{
  "schemaVersion": 2,
  "mediaType": "application/vnd.docker.distribution.manifest.v2+json",
  "config": { ... },
  "layers": [ { "size": 43881124, ... } ]
}

Steps to reproduce

  1. On an Apple Silicon Mac: docker pull ghcr.io/cardano-scaling/hydra-node:2.3.0
  2. docker run --rm ghcr.io/cardano-scaling/hydra-node:2.3.0 --version
  3. The container hangs with no output

The same command works on Linux, and the native ARM64 binary works on the same Mac.

Expected

Either a linux/arm64 variant published in a multi-arch manifest, or a note in
the installation docs that the image is amd64-only and Apple Silicon users should
use the native binary instead.

Possible fix

Releases already ship a MacOS ARM64 binary, so an ARM toolchain seems to be in
place. Adding linux/arm64 to the image build and publishing a manifest list
would let Apple Silicon run it natively and skip emulation entirely.

Happy to test a candidate image on an M1.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    Projects

    Status
    Triage 🏥

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions