Firebase Hosting

Firebase Hosting provides fast and secure hosting for your web app, static and dynamic content, and microservices.

Firebase Hosting is production-grade web content hosting for developers. With a single command, you can quickly deploy web apps and serve both static and dynamic content to a global CDN (content delivery network). You can also pair Firebase Hosting with Cloud Functions or Cloud Run to build and host microservices on Firebase.

Get Started

Key capabilities

Serve content over a secure connection The modern web is secure. Zero-configuration SSL is built into Firebase Hosting, so content is always delivered securely.
Host static and dynamic content plus microservices Firebase Hosting supports all kinds of content for hosting, from your CSS and HTML files to your Express.js microservices or APIs.
Deliver content fast Each file that you upload is cached on SSDs at CDN edges around the world and served as gzip or Brotli. We auto-select the best compression method for your content. No matter where your users are, the content is delivered fast.
Emulate and even share your changes before going live

View and test your changes on a locally hosted URL and interact with an emulated backend.

Share your changes with teammates using temporary preview URLs. Hosting also provides a GitHub integration for easy iterations of your previewed content.

Deploy new versions with one command

Using the Firebase CLI, you can get your app up and running in seconds. Command line tools make it easy to add deployment targets into your build process.

And if you need to undo the deploy, Hosting provides one-click rollbacks.

How does it work?

Firebase Hosting is built for the modern web developer. Websites and apps are more powerful than ever with the rise of front-end JavaScript frameworks like Angular and static generator tools like Jekyll. Whether you are deploying a simple app landing page or a complex Progressive Web App (PWA), Hosting gives you the infrastructure, features, and tooling tailored to deploying and managing websites and apps.

Using the Firebase CLI, you deploy files from local directories on your computer to our Hosting servers. Beyond serving static content, you can use Cloud Functions for Firebase or Cloud Run to serve dynamic content and host microservices on your sites. All content is served over an SSL connection from the closest edge server on our global CDN.

You can also view and test your changes before going live. Using the Firebase Local Emulator Suite, you can emulate your app and backend resources at a locally hosted URL. You can also share your changes at a temporary preview URL and set up a GitHub integration for easy iterations during development.

Firebase Hosting has lightweight hosting configuration options for you to build sophisticated PWAs. You can easily rewrite URLs for client-side routing, set up custom headers, and even serve localized content.

For serving your content, Firebase offers several domain and subdomain options:

  • By default, every Firebase project has subdomains at no cost on the web.app and firebaseapp.com domains. These two sites serve the same deployed content and configuration.

  • You can create multiple sites if you have related sites and apps that serve different content but still share the same Firebase project resources (for example if you have a blog, admin panel, and public app).

  • You can connect your own domain name to a Firebase-hosted site.

Firebase automatically provisions SSL certificates for all your domains so that all your content is served securely.

Implementation path

Install the Firebase CLI The Firebase CLI makes it easy to set up a new Hosting project, run a local development server, and deploy content.
Set up a project directory

Add your static assets to a local project directory, then run firebase init to connect the directory to a Firebase project.

In your local project directory, you can also set up Cloud Functions or Cloud Run for your dynamic content and microservices.

View, test, and share your changes before going live (optional)

Run firebase emulators:start to emulate Hosting and your backend project resources at a locally hosted URL.

To view and share your changes at a temporary preview URL, run firebase hosting:channel:deploy to create and deploy to a preview channel. Set up the GitHub integration for easy iterations of your previewed content.

Deploy your site When things are looking good, run firebase deploy to upload the latest snapshot to our servers. If you need to undo the deploy, you can roll back with just one click in the Firebase console.
Link to a Firebase Web App (optional) By linking your site to a Firebase Web App, you can use Google Analytics to collect usage and behavior data for your app and use Firebase Performance Monitoring to gain insight into the performance characteristics of your app.

Next steps