docker composeで「Hasura」を構築する

docker composeで「Hasura」を構築する

docker composeを利用してオープンソースのGraphQLサーバー「Hasura」を構築するまでの手順を記述してます。

環境

  • OS MIRACLE LINUX release 8.4 (Peony)
  • docker 20.10.9
  • docker-compose v2.0.1

docker-compos.yml取得

「docker-compos.yml」を取得します。

curl https://raw.githubusercontent.com/hasura/graphql-engine/stable/install-manifests/docker-compose/docker-compose.yaml -o 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.0.10
    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
      PG_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:

Hasura起動

以下のコマンドを実行して「Hasura」を起動します。

docker-compose up -d

ブラウザから http://プライベートIP or サーバーIP:8080 にアクセスします。

Hasuraが起動されていることが確認できます。