⚠️  this repository is no longer maintained because there are arm64 versions in the official repository started from v2.1.0-beta.3
Dockerfile for Hasura GraphQL Engine to run on arm64/aarch64 (tested on Nvidia Jetson Nano, Rpi4, Apple M1)
Latest image (may be 1-2 days late from the official release):
- fedormelexin/graphql-engine-arm64:latest
 
See all versions on DockerHub
For v2.0.2+
export DOCKER_USERNAME=fedormelexin
export HASURA_VERSION=v2.0.5
git clone https://github.com/melehin/graphql-engine-arm64
cd graphql-engine-arm64
docker build --build-arg HASURA_VER=${HASURA_VERSION} -t "${DOCKER_USERNAME}/graphql-engine-arm64:${HASURA_VERSION}" .CLI migrations v2 or v3 for v2.0.2+
export DOCKER_USERNAME=fedormelexin
export HASURA_VERSION=v2.0.5
export SCRIPT_VERSION=v3
git clone https://github.com/melehin/graphql-engine-arm64
cd graphql-engine-arm64/cli-migrations
docker build --build-arg SCRIPT_VERSION=${SCRIPT_VERSION} --build-arg SERVER_IMAGE_TAG=${HASURA_VERSION} --build-arg SERVER_IMAGE=${DOCKER_USERNAME}/graphql-engine-arm64  -t "${DOCKER_USERNAME}/graphql-engine-arm64:${HASURA_VERSION}.cli-migrations-${SCRIPT_VERSION}" .Use ghc-8.10.2 branch for versions below v2.0.1
docker run -d -p 8080:8080 \
  -e HASURA_GRAPHQL_DATABASE_URL=postgres://username:password@hostname:port/dbname \
  -e HASURA_GRAPHQL_ENABLE_CONSOLE=true \
  -e HASURA_GRAPHQL_ADMIN_SECRET=myadminsecretkey \
  fedormelexin/graphql-engine-arm64Hasura Console will be available at http://localhost:8080
Uncomment HASURA_GRAPHQL_ADMIN_SECRET and set a password if you need it
dd if=/dev/random bs=128 count=1 2>/dev/null | sha1sum
Example docker-compose.yaml for hasura and postgres:
version: '3.6'
services:
  postgres:
    image: postgres
    restart: always
    volumes:
    - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: MYPGDBPASSWORD 
  graphql-engine:
    image: fedormelexin/graphql-engine-arm64
    ports:
    - "8080:8080"
    depends_on:
    - "postgres"
    restart: always
    environment:
      HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:MYPGDBPASSWORD@postgres:5432/postgres
      HASURA_GRAPHQL_ENABLE_CONSOLE: "true" # set to "false" to disable console
      ## uncomment next line to set an admin secret
      # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
volumes:
  db_data: