Docker-compose on ARM64 Ubuntu:

Hi everyone,

I'm trying to setup metabase with docker-compose on Hetnzer Arm64 server.

Metabase container throws this errror:
exec /app/run_metabase.sh: exec format error

version: "3.8"

services:
  db:
    image: postgres
    container_name: postgresql_metabase
    restart: always
    environment:
      POSTGRES_DB: metabase
      POSTGRES_USER: metabase
      POSTGRES_PASSWORD: db_password
    volumes:
      - db_data:/var/lib/postgresql/data
    ports:
      - 5432:5432

  dataviz:
    image: metabase/metabase
    container_name: metabase
    restart: always
    environment:
      MB_DB_TYPE: postgres
      MB_DB_DBNAME: metabase
      MB_DB_PORT: 5432
      MB_DB_USER: metabase
      MB_DB_PASS: db_password
      MB_DB_HOST: db
      MB_DB_FILE: /metabase-data/metabase.db
    depends_on:
      - db
    volumes:
      - dataviz_data:/metabase-data
    ports:
      - 3000:3000

volumes:
  db_data:
  dataviz_data:

Actually I tried multiple different compose files and everytime I ran into this issue. Any help?

//

root@ubuntu-16gb-fsn1-1:~/metabase# java --version
openjdk 11.0.20.1 2023-08-24
OpenJDK Runtime Environment (build 11.0.20.1+1-post-Ubuntu-0ubuntu122.04)
OpenJDK 64-Bit Server VM (build 11.0.20.1+1-post-Ubuntu-0ubuntu122.04, mixed mode)

this one

docker run -p 3000:3000 --name metabase --platform=linux/arm64/v8 metabase/metabase

gives

docker: image with reference docker.io/metabase/metabase:latest was found but does not match the specified platform: wanted linux/arm64/v8, actual: linux/amd64.

and this

docker run -p 3000:3000 --name metabase --platform=linux/amd64 metabase/metabase

gives

exec /app/run_metabase.sh: exec format error

I would suggest you build your own container to run Metabase as currently our base image is not arm compatible Arm-compatible docker images · Issue #13119 · metabase/metabase · GitHub

Regarding the error, it’s for sure an error in how hetzner runs its containers.

In this case I would suggest you run the jar file directly