Question

App Specification to route subdomains to individual services

Can the following setup be achieved with a single App Specification file (= single App)?

  • single managed PostgreSQL Cluster (PCLUSTER)

  • example.com is the main domain and it serves a next.js application from production it branch; it connects to api.example.com

  • api.example.com is Laravel API from production git branch; it connects to production database in PCLUSTER

  • example-staging.com is staging area; it runs next.js from staging git branch and connects to api.example-staging.com

  • api.example-staging.com is Laravel API from staging git branch; it connects to staging database in PCLUSTER

I am confused about how to configure the domains top level setting and routes per-instance settings to make this setup work. Please advise.

Subscribe
Share

Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

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.

@ReWild 👋

Currently all routable components in an app would need to share the same set of domains, so if you wanted your next.js app on a different domain than your API then they would have to be separate apps for now. Similarly for your staging app. This may change in the future, especially if we hear enough feedback about it.

An alternative would be to put your nextjs site on example.com and your API service on example.com/api (via the route path config), within the same app. You then also have access to bindable env variables that can be used to reference other components in your app, on the internal network or external depending on if you nextjs is deployed as a static site or service. In this model, your staging app would still be a separate app for now.