要点
Deploy and manage full-stack web apps with Firebase App Hosting using Next.js, Angular, and other supported frameworks.
- Requires Firebase project on Blaze pricing plan; supports Server-Side Rendering (SSR) and Incremental Static Regeneration (ISR) workflows
- Deploy via
firebase.jsonconfiguration with optionalapphosting.yamlfor backend setup, or enable automated "git push to deploy" through GitHub integration - Includes secret management via CLI commands for secure access to sensitive keys and local testing through Firebase Local Emulator Suite
- Best suited for full-stack applications; use Firebase Hosting instead for static sites or simple SPAs without SSR
SKILL.md
App Hosting Basics
Description
This skill enables the agent to deploy and manage modern, full-stack web applications (Next.js, Angular, etc.) using Firebase App Hosting.
Important: In order to use App Hosting, your Firebase project must be on the Blaze pricing plan. Direct the user to https://console.firebase.google.com/project/_/overview?purchaseBillingPlan=metered to upgrade their plan.
Hosting vs App Hosting
Choose Firebase Hosting if:
- You are deploying a static site (HTML/CSS/JS).
- You are deploying a simple SPA (React, Vue, etc. without SSR).
- You want full control over the build and deploy process via CLI.
Choose Firebase App Hosting if:
- You are using a supported full-stack framework like Next.js or Angular.
- You need Server-Side Rendering (SSR) or ISR.
- You want an automated "git push to deploy" workflow with zero configuration.
Deploying to App Hosting
Deploy from Source
This is the recommended flow for most users.
-
Configure
firebase.jsonwith anapphostingblock.{ "apphosting": { "backendId": "my-app-id", "rootDir": "/", "ignore": [ "node_modules", ".git", ".next", ".vercel", "firebase-debug.log", "firebase-debug.*.log", "functions" ] } } -
Create or edit
apphosting.yaml- see Configuration for more information on how to do so. -
Create the backend if it does not exist (
apphosting:backends:list; switch--primary-region, e.g.us-east4, if a region hits its 10-backend quota):npx -y firebase-tools@latest apphosting:backends:create --backend my-app-id --primary-region us-central1 --root-dir / -
If the app needs safe access to sensitive keys, set and grant access after creating the backend:
printf '%s' '<value>' | npx -y firebase-tools@latest apphosting:secrets:set <secret-name> --data-file - --force npx -y firebase-tools@latest apphosting:secrets:grantaccess <secret-name> --backend my-app-id -
Run
npx -y firebase-tools@latest deploywhen you are ready to deploy.
Automated deployment via GitHub (CI/CD)
Alternatively, set up a backend connected to a GitHub repository for automated
"git push" deployments. For GitHub-connected backends, trigger rollouts with
npx -y firebase-tools@latest apphosting:rollouts:create <backend-id> --git-branch <branch>
(do not use rollouts:create when deploying from local source with deploy).
For other backend or secret flags (backends:get, backends:delete, etc.), run
npx -y firebase-tools@latest <command> --help.
Emulation
See Emulation for more information on how to test your app locally using the Firebase Local Emulator Suite.