Stay organized with collectionsSave and categorize content based on your preferences.
This page provides answers to frequently asked questions (FAQs) aboutApp Hosting.
App HostingFAQ
DoesApp Hostingsupport frameworks other than Next.js and Angular?
App Hostingprovides preconfigured build and deploy support for
Next.js and Angular, where we've committed to understanding
those frameworks and interpreting their native configurations. For a number ofother frameworks, the developer community supportsApp Hostingframework adapters. Additionally, for any Node.js
application with a build and start script,App Hostingwill attempt builds, but cannot dependably guarantee success. SeeFramework
integration.
Which regions doesFirebase App Hostingsupport?
The regions forApp Hostingare likely to expand over time. SeeApp Hostinglocationsfor the most up-to-date information.
Can I use GitLab or other Git providers besides GitHub for deployments?
Currently you can't, but support for other providers is in the long term
roadmap forApp Hosting.
Why can't I find my repository in the Firebase console UI?
If your repository does not appear in the list of options when you
are creating a new backend in the Firebase console, first try selectingRefresh list. If the preferred repository is still not
available, you may need to add it using the option toGrant access to
a new repository in GitHub.
Additionally, you can manage repositories with theFirebase App HostingGitHub application. To do this, go to your GitHub profile, and selectSettingsand thenApplications. In the table
row for theFirebase App Hostingapplication, clickConfigureto manage repositories.
Why won't my site display normally in Android mobile app WebView?
Apps that configured a custom domain with the Firebase console
prior to Q3 2025 may find that the site does not display properly in Android
WebView. This occurs because CNAME records used during that period were not
compatible with Android WebView.
To resolve this issue, remove the custom domain from theApp Hostingbackend and re-add it. The updated console UI will provide 3 new records, an A
and a TXT record for the domain, and a CNAME for the ACME challenge subdomain
(for certs); use these records in place of the previous CNAME
record.
How do I change the repository associated with myApp Hostingproject?
Currently, changing the repository isn't possible. However, you can
create a new backend associated with the preferred repository within the same
project, or create a new backend in a separate project.
How can I set headers for myApp Hostingsite?
Headers are framework-dependent. Do whatever you would normally do for
your framework.
Is there an emulator for local development withApp Hosting?
Yes, you can perform local tests of your app prior toApp Hostingdeployment using theApp Hostingemulator, which is part of the Firebase
Local Emulator Suite. SeeLocally test
your app deployment.
Why do I see errors inApp Hostingbut not in Cloud Build?
In such cases, it's possible that your error may have come from Cloud Run.
Check the status of the rollout to be sure.
How do I change or remove a linked GitHub account?
To remove the linked GitHub account, openDeveloper
Connect, ensure your project is selected, and delete thefirebase-app-hosting-github-oathconnection and the
connection that starts withapphosting-github-conn-. When
you openApp Hostingin theFirebaseconsole, you should now be
able to set up a new GitHub connection.
How can I set cookies for myApp Hostingsite?
Though it was not available at the launch of theApp Hostingpreview, theSet-CookieHTTP response header now works as expected.
GeneralApp Hostinglimitations and troubleshooting
App Hosting's CDN can only include a specific set of request headers in
its cache keys. That list includes NextJS'sRSC,Next-Router-State-Tree,Next-Router-Prefetch,Next-Router-Segment-Prefetch, andNext-Urlheaders, as well as Cloud CDN's standardAccept,Accept-Encoding,Access-Control-Request-Headers,Access-Control-Request-Method,Origin,Sec-Fetch-Dest,Sec-Fetch-Mode,Sec-Fetch-Site,X-Goog-Allowed-Resources, andX-Origin. If a response contains aVaryheader with a value not listed here, our CDN won't cache it.
Uncached static files are served out ofCloud Run; in a
later release, they'll be stored and served from theApp Hostingorigin
for better performance.
TheFirebaseconsole may intermittently show a "build was not found and
is invalid" error on backend creation.
All backends in the same project share a GitHub org/account.
They can be connected to different repositories under that org/account.
To create backends that are connected to different GitHub accounts,
put them in separate projects.
Angular app limitations and troubleshooting
ThoughApp Hostingsupport for Angular is actively in development and
expanding, it has the following limitations:
I18n: While core I18n functionality works, direct navigation to SSR
pages can result in errors.
Localization: Building versions for different locales isn't supported.
Builders: Only the Application builder is currently supported.
Environments and Monorepo Tooling: Angular projects that have more than
a single application target will fail. For more complete monorepo support,
use Nx.
URL paths containing percent-encoded characters are decoded byCloud Run. This may cause issues with features that expect only
encoded URL paths, such as Next.js parallel routing.
Currently,App Hostinglimits the caching for NextJS apps usingmiddleware.
Over time, cache hit rates should improve.
URL paths containing percent-encoded characters are decoded by Cloud Run.
This may cause issues with features that expect only encoded URL paths, such asNext.js parallel routing
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Missing the information I need","missingTheInformationINeed","thumb-down"],["Too complicated / too many steps","tooComplicatedTooManySteps","thumb-down"],["Out of date","outOfDate","thumb-down"],["Samples / code issue","samplesCodeIssue","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[],[],null,["\u003cbr /\u003e\n\nThis page provides answers to frequently asked questions (FAQs) about\nApp Hosting.\n\nApp Hosting FAQ \n\nDoes App Hosting support frameworks other than Next.js and Angular?\n\nApp Hosting provides preconfigured build and deploy support for\nNext.js and Angular, where we've committed to understanding\nthose frameworks and interpreting their native configurations. For a number of\n[other frameworks](/docs/app-hosting/about-app-hosting#other-frameworks), the developer community supports App Hosting\nframework adapters. Additionally, for any Node.js\napplication with a build and start script, App Hosting\nwill attempt builds, but cannot dependably guarantee success. See [Framework\nintegration](/docs/app-hosting/about-app-hosting#frameworks). \n\nWhich regions does Firebase App Hosting support?\n\nThe regions for App Hosting are likely to expand over time. See\n[App Hosting locations](/docs/app-hosting/about-app-hosting#locations)\nfor the most up-to-date information. \n\nCan I use GitLab or other Git providers besides GitHub for deployments?\n\nCurrently you can't, but support for other providers is in the long term\nroadmap for App Hosting. \n\nWhy can't I find my repository in the Firebase console UI?\n\nIf your repository does not appear in the list of options when you\nare creating a new backend in the Firebase console, first try selecting\n**Refresh list** . If the preferred repository is still not\navailable, you may need to add it using the option to **Grant access to\na new repository in GitHub**.\n\nAdditionally, you can manage repositories with the Firebase App Hosting\nGitHub application. To do this, go to your GitHub profile, and select\n**Settings** and then **Applications** . In the table\nrow for the Firebase App Hosting application, click **Configure**\nto manage repositories. \n\nWhy won't my site display normally in Android mobile app WebView?\n\nApps that configured a custom domain with the Firebase console\nprior to Q3 2025 may find that the site does not display properly in Android\nWebView. This occurs because CNAME records used during that period were not\ncompatible with Android WebView.\n\nTo resolve this issue, remove the custom domain from the App Hosting\nbackend and re-add it. The updated console UI will provide 3 new records, an A\nand a TXT record for the domain, and a CNAME for the ACME challenge subdomain\n(for certs); use these records in place of the previous CNAME\nrecord. \n\nHow do I change the repository associated with my App Hosting project?\n\nCurrently, changing the repository isn't possible. However, you can\ncreate a new backend associated with the preferred repository within the same\nproject, or create a new backend in a separate project. \n\nHow can I set headers for my App Hosting site?\n\nHeaders are framework-dependent. Do whatever you would normally do for\nyour framework. \n\nIs there an emulator for local development with App Hosting?\n\nYes, you can perform local tests of your app prior to App Hosting\ndeployment using the App Hosting emulator, which is part of the Firebase\nLocal Emulator Suite. See [Locally test\nyour app deployment](/docs/app-hosting/emulate). \n\nWhy do I see errors in App Hosting but not in Cloud Build?\n\nIn such cases, it's possible that your error may have come from Cloud Run.\nCheck the status of the rollout to be sure. \n\nHow do I change or remove a linked GitHub account?\n\nTo remove the linked GitHub account, open [Developer\nConnect](https://console.cloud.google.com/developer-connect/connections), ensure your project is selected, and delete the\n`firebase-app-hosting-github-oath` connection and the\nconnection that starts with `apphosting-github-conn-`. When\nyou open App Hosting in the Firebase console, you should now be\nable to set up a new GitHub connection. \n\nHow can I set cookies for my App Hosting site?\n\nThough it was not available at the launch of the App Hosting preview, the\n`Set-Cookie` HTTP response header now works as expected.\n\nGeneral App Hosting limitations and troubleshooting\n\n- App Hosting's CDN can only include a specific set of request headers in its cache keys. That list includes NextJS's `RSC`, `Next-Router-State-Tree`, `Next-Router-Prefetch`, `Next-Router-Segment-Prefetch`, and `Next-Url` headers, as well as Cloud CDN's standard `Accept`, `Accept-Encoding`, `Access-Control-Request-Headers`, `Access-Control-Request-Method`, `Origin`, `Sec-Fetch-Dest`, `Sec-Fetch-Mode`, `Sec-Fetch-Site`, `X-Goog-Allowed-Resources`, and `X-Origin`. If a response contains a `Vary` header with a value not listed here, our CDN won't cache it.\n- Uncached static files are served out of Cloud Run; in a later release, they'll be stored and served from the App Hosting origin for better performance.\n- The Firebase console may intermittently show a \"build was not found and is invalid\" error on backend creation.\n- All backends in the same project share a GitHub org/account. They can be connected to different repositories under that org/account. To create backends that are connected to different GitHub accounts, put them in separate projects.\n\nAngular app limitations and troubleshooting\n\nThough App Hosting support for Angular is actively in development and\nexpanding, it has the following limitations:\n\n- **I18n**: While core I18n functionality works, direct navigation to SSR pages can result in errors.\n- **Localization**: Building versions for different locales isn't supported.\n- **Builders**: Only the Application builder is currently supported.\n- **Environments and Monorepo Tooling**: Angular projects that have more than a single application target will fail. For more complete monorepo support, use Nx.\n\nNext.js limitations and troubleshooting\n\n- By default, the [built-in NextJS image optimization](https://nextjs.org/.docs/app/building-your-application/optimizing/images) is disabled on App Hosting unless you explicitly set [`images.unoptimized`](https://nextjs.org/docs/pages/api-reference/components/image#unoptimized) to false or use a custom [Image Loader.](https://nextjs.org/docs/app/api-reference/config/next-config-js/images#example-loader-configuration) See [Optimize image loading on Next.js](/docs/app-hosting/optimize-image-loading).\n- URL paths containing percent-encoded characters are decoded by Cloud Run. This may cause issues with features that expect only encoded URL paths, such as Next.js parallel routing.\n- Currently, App Hosting limits the caching for NextJS apps using [middleware](https://nextjs.org/docs/app/building-your-application/routing/middleware). Over time, cache hit rates should improve.\n- URL paths containing percent-encoded characters are decoded by Cloud Run. This may cause issues with features that expect only encoded URL paths, such as [Next.js parallel routing](https://nextjs.org/docs/app/building-your-application/routing/parallel-routes)"]]