1

I have to do a little hasura project for my university and i have to post the exercise using docker compose. The problem is:

I have to manually enter the Hasura UI and connect to the postgres database. Is there a way to automatically connect hasura to the postgres database on docker-compose up ?

It is funny that this is not supported out of the box by the official docker-compose.yml.....

The official file:

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.3.1
    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
volumes:
  db_data:
MajesticOl
  • 311
  • 1
  • 20

1 Answers1

2

According to the docs,

A Postgres database can be connected using the HASURA_GRAPHQL_DATABASE_URL env var as well in which case it gets added automatically as a database named default

Replace PG_DATABASE_URL with HASURA_GRAPHQL_DATABASE_URL.

Abraham Labkovsky
  • 1,771
  • 6
  • 12
  • omg thanks.. i missed that! But seriousely... "## this env var can be used to add the above postgres database to Hasura as a data source." is somewhat misleading...... – MajesticOl Mar 29 '22 at 09:25
  • Lol. I often consider sample code a viable alternative to reading the docs, so I feel you. Hasura docs are pretty great though I have found and very approachable... Good luck! – Abraham Labkovsky Mar 29 '22 at 13:47