# Deploy a headless frontend

The [headless frontend you built](/source-cms/get-content/) is an ordinary Next.js, Astro, Nuxt, or TanStack Start app, so it runs anywhere those run. Acquia's own option is [Front End Hosting](/source-cms/deploy/choose-hosting/) – Advanced: [confirm the entitlement](/source-cms/deploy/choose-hosting/), take the golden-path app live in the [quickstart](/source-cms/deploy/quickstart/), deploy a scaffolded [Canvas Headless app](/source-cms/deploy/canvas-headless-hosting/), then production-harden it in the [guide](/source-cms/deploy/guide/).

On Front End Hosting – Advanced, the deploy is a prebuilt [artifact](/start-here/glossary/#build-artifact) from [your own CI/CD](/source-cms/deploy/external-ci/) or [Code Studio](/start-here/glossary/#code-studio), equal alternatives: build, push the artifact to the Acquia git remote, trigger the deploy with one API call. [Deploy code as an artifact](/cloud-platform/cli/everyday-workflows/#deploy-code-as-an-artifact) is the same flow driven by hand from your terminal.

Wherever it runs, three things carry into production:

- **Credentials.** Set `DRUPAL_SITE_URL`, `DRUPAL_CLIENT_ID`, and `DRUPAL_CLIENT_SECRET` in the deployed environment, and rotate them on the schedule in the [auth guide](/source-cms/authenticate/guide/).
- **Cache invalidation.** A [webhook](/source-cms/content-api/webhooks/) from your site into your host's revalidation endpoint is what keeps a cached frontend from serving yesterday's content.
- **A domain and its certificate.** Going live means pointing a domain at your host and issuing its certificate: see [managing domains](https://docs.acquia.com/acquia-cloud-platform/managing-domains) and [SSL on Cloud Platform](https://docs.acquia.com/acquia-cloud-platform/ssl-cloud-platform).

- [Front End Hosting](/source-cms/deploy/choose-hosting/): What Front End Hosting - Advanced runs, and how to confirm the entitlement on your subscription before your first deploy.
- [Quickstart](/source-cms/deploy/quickstart/): Take your app from a GitHub repository to a live URL on Front End Hosting - Advanced, in any of the four frameworks, with a workflow that rebuilds and redeploys on every push.
- [Deploy a Canvas Headless app](/source-cms/deploy/canvas-headless-hosting/): Take a Canvas Headless app live on Front End Hosting - Advanced: build a prebuilt artifact for Next.js, Astro, Nuxt, or TanStack Start, push it, deploy, and purge the cache.
- [Deploy from your own CI/CD](/source-cms/deploy/external-ci/): Deploy Front End Hosting apps from the CI you already run - build in GitHub Actions (or any CI system), push the prebuilt artifact to the Acquia git remote, trigger the deploy via the Cloud Platform API.
- [Deploying a headless frontend](/source-cms/deploy/guide/): Run your frontend in production on Front End Hosting – Advanced. Secrets, ISR mechanics, autoscaling, and platform constraints.
- [Go-live checklist](/source-cms/deploy/go-live/): The launch checklist for a headless frontend on Front End Hosting – Advanced. Credentials, promotion, domains, caching, rollback plan, and monitoring, each linking the page that implements it.
- [Operate in production](/source-cms/deploy/operations/): Day-2 runbooks. Roll back a bad deploy on every documented deploy path, monitor within the platform's log constraints, and the rotation inventory for every credential the docs provisioned.
