Skip to content

ARM64 Docker image fails because ibm_db binding is missing #1870

Open

Description

@st3k0

Describe the bug
The ARM64 variant of rocketadmin/rocketadmin:latest starts PostgreSQL migrations successfully but then crashes because the bundled ibm_db module cannot locate an ARM64 native binding.

To Reproduce
Steps to reproduce the behavior:

  1. Deploy rocketadmin/rocketadmin:latest on an ARM64 VPS.
  2. Deploy using Docker/Dokploy without forcing linux/amd64.
  3. Connect Rocketadmin to a separate PostgreSQL service over the shared Docker network.
  4. Start the Rocketadmin container.
  5. Check the container logs.

Expected behavior
The ARM64 Docker image should start successfully and serve the Rocketadmin UI.

Screenshots
If applicable, add screenshots to help explain your problem.

Desktop (please complete the following information):

  • OS: Linux VPS
  • Host architecture: ARM64 / aarch64
  • Deployment platform: Dokploy
  • Docker image: rocketadmin/rocketadmin:latest
  • Image platform: linux/arm64
  • Node.js version inside container: v24.19.0
  • Database: PostgreSQL, separate Dokploy service
  • Browser: Not applicable

Additional context
The Docker Hub latest tag provides both linux/amd64 and linux/arm64 images.
Forcing the AMD64 image on the ARM64 VPS results in:

exec /app/backend/entrypoint.sh: exec format error

Using the native ARM64 image avoids the architecture error, but then fails because the ibm_db native binding is missing.

The PostgreSQL connection is working; migrations complete successfully before the ibm_db error occurs.

Activity

  1. st3k0 commented on Aug 24, 2026

    @st3k0
    Author

    Solution

    I solved this issue on a Hetzner VPS running ARM64 with Dokploy.

    The original error was:

    Error: Could not locate the bindings file
    ... ibm_db ...
    node-v137-linux-arm64
    

    I forced RocketAdmin to use the AMD64 image:

    platform: linux/amd64

    Initially, this caused:

    exec /app/backend/entrypoint.sh: exec format error
    

    The solution was to install AMD64 emulation on the Docker host. SSH into the VPS where Dokploy is installed and run:

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

    Then redeploy RocketAdmin in Dokploy with:

    platform: linux/amd64

    After this, the container started successfully. An x86_64 VPS is preferable for production, but AMD64 emulation works on the ARM64 server.

    More information is available in the [Docker documentation on manually installing QEMU](https://docs.docker.com/build/building/multi-platform/#install-qemu-manually).

  2. gugu commented on Sep 17, 2026

    @gugu
    Contributor

    please test if latest release works for you - our team removed ibm db2 support

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions