Hi there!
I’m hosting my dgraph databases on ARMx64 isntances, and I was hoping that I could run ratel on my cluster, allowing me to control access via ingress.
The problem is that ratel seems not to work with ARM chips. Is there a way to build a docker image for ratel which works with ARM?
Thanks
Michael
Hey @Awoogamuffin,
I’m able to run it on Apple Silicon…
docker run --rm -p 8000:8000 dgraph/ratel
WARNING: The requested image's platform (linux/amd64) does not match the detected host platform (linux/arm64/v8) and no specific platform was requested
2025/04/15 17:28:25 Listening on :8000...
There’s a warning from Docker, but Ratel still works.
What exact issue are you seeing? On what ARM architecture (chip/OS) is it failing?
Oh yes I should have specified
Turns out that docker for mac will emulate incompatible images. I’ve had ratel (and some other images) running fine on my apple silicon dev machine.
But on an ubuntu ec2 instance, no such luck. It simply doesn’t work. I’ll find workaround, it’s just that I was proud of my little ingress-keycloak → ratel security solution.
I could run a tiny instance just for ratel, or use the tls solution, or something else… it’s just that the ratel client is a small binary providing the http. It would be nice to have an ARM version available
Yes, you can create a Docker image for Ratel that is compatible with ARM-based platforms. Because Ratel’s official Docker images are generally built against x86 architectures, you will have to make a custom ARM-compatible image. You can begin by compiling the Ratel UI from source using the Go programming language, which should enable you to compile for ARM architectures. In order to do this, clone the Ratel repository, make sure your Dockerfile has an ARM-compatible base image , and then proceed with the build instructions of the Ratel frontend. Subsequently, you can build and push your ARM-compatible Docker image. Ensure you have multi-architecture support in your Docker configuration if you are building it on an x86 system and pushing to be used on an ARM system.