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.


Submit an answer

This textbox defaults to using Markdown to format your answer.

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

Sign In or Sign Up to Answer

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.

Want to learn more? Join the DigitalOcean Community!

Join our DigitalOcean community of over a million developers for free! Get help and share knowledge in Q&A, subscribe to topics of interest, and get courses and tools that will help you grow as a developer and scale your project or business.

@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.