Skip to main content
Run Hasura on ECS Fargate behind an Application Load Balancer and place PostgreSQL in RDS.

Prerequisites

  • A Git repository containing your application and its production build command.
  • A Ravion account with your AWS account connected. Start free at Ravion signup.
  • The Ravion CLI installed and authenticated. See CLI installation.
The examples use my-org/my-app as a placeholder. Replace it with your repository before applying the config.

Set up this Hasura app for Ravion ECS hosting.

Open in Cursor

Configure the deployment

Ravion provisions the network, compute, and database resources in your AWS account. The Hasura GraphQL Engine publishes an official hasura/graphql-engine image that listens on port 8080. This example deploys that prebuilt image through build_source: image_registry; it does not build from your repository. The /healthz endpoint is used for the ALB health check.
ravion.yaml
Set HASURA_GRAPHQL_DATABASE_URL, HASURA_GRAPHQL_ADMIN_SECRET, and any metadata settings through runtime variables or Secrets Manager. The module schema does not automatically map an RDS output into an ECS secret, so create that secret from the RDS outputs before applying the service.

Apply and connect your domain

Follow custom domains to configure the ALB hostname.

Next steps

Custom domains

Point a domain at your deployed service and manage its certificate.

Project config

Preview and apply Ravion configuration from source control.

Pipelines

Add approvals, migrations, and deployment automation.

Logs and metrics

Inspect deploy output and production health in Ravion.