TerraNext

Develop with Next.js. Package with OpenNext. Deploy with Terraform. Host on AWS.

Is TerraNext right for you?

Answer a few questions and find out.

Do you want to host on AWS?

For your consideration

It's always good to be honest.

Vercel

  • Best support for Next.js
  • Fastest to setup
  • Free tier for hobby projects
  • Expensive once you scale
  • No infrastructure control
  • Not free for GitHub organizations

Amplify

  • Hosted on AWS
  • Managed service, minimal ops work
  • Pay-as-you-go AWS pricing
  • Next.js feature support can lag behind
  • Limited infrastructure customization
  • Poor developer experience
  • Offering is confusing and bloated

OpenNext with SST

  • Highly cost-effective
  • First-class OpenNext support
  • Easy to learn and use
  • Difficult to customize infrastructure beyond SST's batteries-included setup
  • Needs somewhere to run
  • You are responsible for maintenance

TerraNext

  • Full control over every resource
  • Highly cost-effective
  • Manage your infrastructure with code
  • Great if you have other infrastructure
  • More complex
  • Requires a Terraform state
  • Needs somewhere to run
  • You are responsible for maintenance

Quick start

1

Build your Next.js app with OpenNext

sh
npx @opennextjs/aws@latest build
2

Add TerraNext to your Terraform

hcl
module "terranext" {
  source = "path/to/terranext"

  name               = "My Website"
  slug               = "my-website"
  aws_region         = "us-east-1"
  opennext_build_path = ".open-next"

  deployment_domain = "example.com"
  acm_arn           = aws_acm_certificate.cert.arn
  hosted_zone_id    = data.aws_route53_zone.main.zone_id
}

New to Terraform? Start with the official Terraform AWS tutorial.

Ready to deploy?

TerraNext is open source and free to use under the MIT License.