Orthanc Docker images on ARM 64 Architecture: solution found

Hello

Thanks once again for all the timely updates. however, we been trying to setup orthanc specifically Orthanc-Authorization from the orthanc-team for production here and we observed no image support for ARM64 on the docker hub.

what we have done so far that didn’t work

  1. we’ve tried to pass the --platform linux/amd64
  2. we’ve tried to use the binfmt “abstraction layer” that will automatically execute binaries using qemu. still didnt work
  3. we also tried to build an ARM64 images as described here GitHub - orthanc-server/orthanc-builder: Repo used to build osimis/orthanc docker images, windows installers and OSX packages …still didn’t work

note: we’re using oracle OCI for IaaS

Right now we’re stock any help will be appreciated.

Hi, there is currently no official ARM64 image. I use a Mac Arm laptop and the osimis/orthanc x86 image runs without issue (albeit a bit slower). You can build an arm64 image, but there are a few plugins that aren’t compatible (osimis web viewer & Stone Viewer) and others that are very difficult to compile (google/azure object storage plugins).

I have been working on a reliable ARM64 build process for 12 months but can’t find the time to finish it sorry.

@James Thanks for the reply

Hello @alainmazy

Is there any possibility that we will have ARM64 images anytime soon. It will be nice to have orthanc in multiple architecture.

Thanks

Hello everyone

For those who wish to run orthanc docker images amd on ARM architecture and you’re faced with the exec user process caused: exec format error here’s the solution

Install the binfmt “abstraction layer” that will automatically execute binaries for you using qemu. This is a simple container that will configure your host for you:

RUN

docker run --privileged --rm tonistiigi/binfmt --install all

You can also specify a specific architecture this way

If you want, just add amd64

docker run --privileged --rm tonistiigi/binfmt --install amd64

Finally

Pass the –platform tag just before the image this way.

docker run -it --rm --platform linux/amd64 alpine:latest

P.s : do same for docker-compose

Each time you do a system reboot run the binfmt layer first as containers won’t start automatically on restart

I hope this helps

2 Likes