I am trying to deploy the Docker hasura-graphql-engine image via the DO App Platform. I am using the one from Docker Hub (https://hub.docker.com/r/hasura/graphql-engine), but I keep getting this error: Deploy Error: Health Checks.

I’ve read all posts on this forum about it, most of the time its due to an misconfigured port or host, but hasura-graphql-engine automatically uses port 8080 and I’ve configured the host to be (via HASURAGRAPHQLSERVER_HOST).

Does anyone know why this standard and popular image won’t deploy on DO App Platform?

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Submit an Answer
1 answer

👋🏼 @TempUser

That should be all that’s needed for the health check to work. If you look at your app’s logs, do you see any errors? It’s possible that the Hasura server is running into an issue and not starting the server as a result.

  • No, there aren’t any errors at all. These are all the logs:

    hasura-graphql-engine-2 | 20:46:39 {"type":"startup","timestamp":"2021-03-22T19:46:39.255+0000","level":"info","detail":{"kind":"server_configuration","info":{"live_query_options":{"batch_size":100,"refetch_delay":1},"transaction_isolation":"ISOLATION LEVEL READ COMMITTED","plan_cache_options":{"plan_cache_size":4000},"enabled_log_types":["http-log","websocket-log","startup","webhook-log"],"server_host":"HostAny","enable_allowlist":false,"log_level":"info","auth_hook_mode":null,"use_prepared_statements":true,"unauth_role":null,"stringify_numeric_types":false,"enabled_apis":["metadata","graphql","config","pgdump"],"enable_telemetry":true,"enable_console":false,"auth_hook":null,"jwt_secret":null,"cors_config":{"allowed_origins":"*","disabled":false,"ws_read_cookie":null},"console_assets_dir":null,"admin_secret_set":true,"port":8080}}}
    hasura-graphql-engine-2 | 20:46:39 {"type":"startup","timestamp":"2021-03-22T19:46:39.255+0000","level":"info","detail":{"kind":"postgres_connection","info":{"retries":1,"database_url":"postgresql://redacted:...@redacted.b.db.ondigitalocean.com:25060/defaultdb?sslmode=require"}}}

    I just tried to create a new app with even less ENV variables, to see if that works, but I get still the same errors.

    These are all my steps:

    1. Create new DO App via Docker Hub
    2. Repository: hasura/graphql-engine, tag: latest
    3. Keep all the default configurations, only add a valid HASURA_GRAPHQL_DATABASE_URL and a HASURA_GRAPHQL_ADMIN_SECRET.
    4. Click next, next, and then Launch basic app
    edited by kamaln7
    • Hmm, once Hasura starts it should print a log line like this:

      {"type":"startup","timestamp":"2021-03-23T19:53:02.854+0000","level":"info","detail":{"kind":"server","info":{"time_taken":9.702385981,"message":"starting API server"}}}

      Do you happen to have trusted sources configured on your database? If so, you will need to disable them. App Platform does not support VPCs or static outbound IP addresses at this time.

      Also, I edited your post to redact parts of the database URL.