2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【祝M1対応】Hasura×Docker×M1 超入門

2
Last updated at Posted at 2022-01-30

HasuraをM1Macで動かす

HasuraはGraphQLを手軽行うためのGraphQLエンジンです。
Hausraを使えば簡単にGraphQLを体験することができます。

最近までHasuraの公式DockerイメージはM1非対応でしたが、
2021/12/10の時点でベータ版ではありますが、M1対応の公式イメージが発表されました。

詳しくはこちらにあります。

Hasuraには2種類ある(知っている人は飛ばしてね)

Hasuraを試したいと思ったらその方法は2つあります。

  1. Hasura Cloud を使う
  2. Docker Hasura を使う

Hasura Cloud とは

Hasura Cloud とは名前の通りクラウド上でHasuraを扱うためのもので、
Firebase的なものをイメージしてもらえれば良いかと思います。

こちらのURLからアカウントを新規作成し
プロジェクトをポチポチしながら作っていくと簡単に作成できます。

お手軽ですが、リクエスト行える回数に上限があり課金しないと無制限には使えません。
ただ、セキュリティのための追加機能とDBも併せて用意してくれると言う特典があります。
お金に余裕があるか、勉強のために使ってみたいだけの人におすすめです。

Hasura Docker とは

前述したHasura Cloud は手軽さの反面、課金が必要になりますが
こちらの「Hasura Docker」であれば無料で使うことができます。

こちらはDBも自分で用意する必要がありますが、
無料ですし導入方法も簡単なので個人的にはこっちの方がおすすめです。

Hasura Docker の始め方

先に書いた通り、HasuraはDockerでも始められるように公式イメージを配布してくれています。
以下のようにdocker-compose.ymlを用意してみましょう。

docker-compose.yml
version: '3.6'
services:
  postgres:
    image: postgres:12
    restart: always
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      POSTGRES_PASSWORD: postgrespassword
  graphql-engine:
    image: hasura/graphql-engine:v2.1.0-beta.3.cli-migrations-v2.arm64
    ports:
      - '8080:8080'
    depends_on:
      - 'postgres'
    restart: always
    environment:
      ## postgres database to store Hasura metadata
      HASURA_GRAPHQL_METADATA_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres
      ## this env var can be used to add the above postgres database to Hasura as a data source. this can be removed/updated based on your needs
      HASURA_GRAPHQL_DATABASE_URL: postgres://postgres:postgrespassword@postgres:5432/postgres
      ## enable the console served by server
      HASURA_GRAPHQL_ENABLE_CONSOLE: 'true' # set to "false" to disable console
      ## enable debugging mode. It is recommended to disable this in production
      HASURA_GRAPHQL_DEV_MODE: 'true'
      HASURA_GRAPHQL_ENABLED_LOG_TYPES: startup, http-log, webhook-log, websocket-log, query-log
      ## uncomment next line to set an admin secret
      # HASURA_GRAPHQL_ADMIN_SECRET: myadminsecretkey
volumes:
  db_data:

こちらのdocker-compose.ymlHasura公式で公開されているdocker-compose.ymlをM1用に少しいじったものになります。

こちらを作成しdocker-compose upをすれば正しく起動するはずです。
localhost:8080にアクセスしてみればHasuraのコンソールが見えると思います。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?