
Firebase App Hosting Basics
- 112k installs
- 390 repo stars
- Updated July 27, 2026
- firebase/agent-skills
firebase-app-hosting-basics is an agent skill for deploying Next.js and Angular apps with Firebase App Hosting, secrets, and apphosting.yaml.
About
The firebase-app-hosting-basics skill covers deploying and managing modern full-stack web applications such as Next.js and Angular through Firebase App Hosting. It requires a Blaze pricing plan and walks through firebase.json apphosting blocks with backendId, rootDir, and ignore patterns plus apphosting.yaml environment configuration. Secret management uses npx firebase-tools apphosting:secrets commands to set values and grant runtime access before production deploy. The recommended deploy-from-source flow ends with npx firebase-tools deploy when configuration is ready, while GitHub-connected backends offer optional git push CI/CD for advanced users. Hosting versus App Hosting guidance steers SSR, ISR, and supported framework workloads here while static-only sites remain on Classic Hosting. Reference docs cover configuration fields, CLI commands for GitHub backend setup, and Local Emulator Suite testing paths. Developers adopt App Hosting when they want automated full-stack deploy pipelines without hand-rolling Cloud Run containers for framework-native builds.
- Deploys Next.js, Angular, and other supported full-stack frameworks via Firebase App Hosting.
- Requires Blaze plan and documents firebase.json apphosting block plus apphosting.yaml config.
- Uses apphosting:secrets CLI commands for sensitive runtime environment values.
- Supports deploy-from-source with npx firebase-tools deploy after configuration.
- Offers optional GitHub repository backend for automated git push deployments.
Firebase App Hosting Basics by the numbers
- 112,003 all-time installs (skills.sh)
- +5,639 installs in the week ending Jul 28, 2026 (Skillselion tracking)
- Ranked #22 of 1,041 Cloud & Infrastructure skills by installs in the Skillselion catalog
- Security screen: MEDIUM risk (skills.sh audit)
- Data as of Jul 28, 2026 (Skillselion catalog sync)
firebase-app-hosting-basics capabilities & compatibility
- Capabilities
- apphosting.yaml configuration guidance · firebase.json apphosting block setup · app hosting secrets management · deploy from source cli workflow · optional github ci backend setup
- Works with
- gcp · github
- Use cases
- devops · frontend
What firebase-app-hosting-basics says it does
your Firebase project must be on the Blaze pricing plan
npx skills add https://github.com/firebase/agent-skills --skill firebase-app-hosting-basicsAdd your badge
Show developers this skill is listed on Skillselion. Paste this into your README.
| Installs | 112k |
|---|---|
| repo stars | ★ 390 |
| Security audit | 3 / 3 scanners passed |
| Last updated | July 27, 2026 |
| Repository | firebase/agent-skills ↗ |
How do I deploy a Next.js or Angular app with SSR to Firebase App Hosting instead of Classic static Hosting?
Deploy Next.js or Angular full-stack apps with Firebase App Hosting, apphosting.yaml, and secrets management.
Who is it for?
Developers shipping SSR or ISR framework apps who need Firebase-managed full-stack hosting on the Blaze plan.
Skip if: Skip for pure static HTML or client-only SPAs; use firebase-hosting-basics instead.
When should I use this skill?
User deploys Next.js, Angular, or full-stack apps needing App Hosting, apphosting.yaml, or SSR on Firebase.
What you get
Configured apphosting backend with secrets, firebase.json block, and a successful firebase-tools deploy or GitHub CI path.
- apphosting.yaml and firebase.json config
- Secrets setup commands
- Deploy or GitHub backend instructions
By the numbers
- Requires Firebase Blaze pricing plan for App Hosting usage.
- Deploy-from-source flow lists five numbered configuration and deploy steps.
Files
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.
1. Configure firebase.json with an apphosting block.
{
"apphosting": {
"backendId": "my-app-id",
"rootDir": "/",
"ignore": [
"node_modules",
".git",
"firebase-debug.log",
"firebase-debug.*.log",
"functions"
]
}
}1. Create or edit apphosting.yaml- see Configuration for more information on how to do so. 1. If the app needs safe access to sensitive keys, use npx -y firebase-tools@latest apphosting:secrets commands to set and grant access to secrets. 1. Run npx -y firebase-tools@latest deploy when you are ready to deploy.
Automated deployment via GitHub (CI/CD)
Alternatively, set up a backend connected to a GitHub repository for automated deployments "git push" deployments. This is only recommended for more advanced users, and is not required to use App Hosting. See CLI Commands for more information on how to set this up using CLI commands.
Emulation
See Emulation for more information on how to test your app locally using the Firebase Local Emulator Suite.
App Hosting CLI Commands
The Firebase CLI provides a comprehensive suite of commands to manage App Hosting resources. These commands are often faster and more scriptable than using the Firebase Console.
Initialization
npx -y firebase-tools@latest init apphosting
- Purpose: Interactive command that sets up App Hosting in your local
project. Use this command only if you are able to handle interactive CLI inputs well. Alternatively, you can manually edit firebase.json and apphosting.yml.
- Effect:
- Detects your web framework.
- Creates/updates
apphosting.yaml. - Can optionally create a backend if one doesn't exist.
Backend Management
npx -y firebase-tools@latest apphosting:backends:list
- Purpose: Lists all backends in the current project.
npx -y firebase-tools@latest apphosting:backends:get <backend-id>
- Purpose: Shows details for a specific backend.
npx -y firebase-tools@latest apphosting:backends:delete <backend-id>
- Purpose: Deletes a backend and its associated resources.
npx -y firebase-tools@latest apphosting:rollouts:list <backend-id>
- Purpose: Lists the history of rollouts for a backend.
Secrets Management
App Hosting uses Cloud Secret Manager to securely handle sensitive environment variables (like API keys).
npx -y firebase-tools@latest apphosting:secrets:set <secret-name>
- Purpose: Creates or updates a secret in Cloud Secret Manager and makes it
available to App Hosting.
- Behavior: Prompts for the secret value (hidden input).
npx -y firebase-tools@latest apphosting:secrets:grantaccess <secret-name>
- Purpose: Grants the App Hosting service account permission to access the
secret.
- Note: Often handled automatically by
secrets:set, but useful for
debugging permission issues or granting access to existing secrets.
Automated deployment via GitHub (CI/CD)
IMPORTANT Only use these commands if you are setting up automated deployments via GitHub. If you are managing deployments using npx -y firebase-tools@latest deploy, DO NOT use these commands.
npx -y firebase-tools@latest apphosting:rollouts:create <backend-id>
- Purpose: Manually triggers a new rollout (deployment).
- Options:
--git-branch <branch>: Deploy the latest commit from a specific branch.--git-commit <commit-hash>: Deploy a specific commit.- Use Case: Useful for redeploying without code changes, or rolling back to
a specific commit.
npx -y firebase-tools@latest apphosting:backends:create
- Purpose: Creates a new App Hosting backend. Use this when setting up
automated deployments via GitHub.
- Options:
--app <webAppId>: The ID of an existing Firebase web app to associate with
the backend.
--backend <backendId>: The ID of the new backend.--primary-region <location>: The primary region for the backend.--root-dir <rootDir>: The root directory for the backend. If omitted,
defaults to the root directory of the project.
--service-account <service-account>: The service account used to run the
server. If omitted, defaults to the default service account.
App Hosting Configuration (apphosting.yaml)
The apphosting.yaml file is the source of truth for your backend's configuration. It must be located in the root of your app's directory (or the specific root directory if using a monorepo).
File Structure
# apphosting.yaml
# Cloud Run service configuration
runConfig:
cpu: 1
memoryMiB: 512
minInstances: 0
maxInstances: 100
concurrency: 80
# Environment variables
env:
- variable: STORAGE_BUCKET
value: mybucket.app
availability:
- BUILD
- RUNTIME
- variable: API_KEY
secret: myApiKeySecretrunConfig
Controls the resources allocated to the Cloud Run service that serves your app.
cpu: Number of vCPUs. Note: If< 1, concurrency MUST be set to1.memoryMiB: RAM in MiB (128 to 32768).minInstances: Minimum containers to keep warm (default 0). Set to >= 1 to
avoid cold starts.
maxInstances: Maximum scaling limit (default 100).concurrency: Max concurrent requests per instance (default 80).
Resource Constraints
- CPU vs Memory: Higher memory often requires higher CPU.
- > 4GiB RAM -> Needs >= 2 vCPU
- > 8GiB RAM -> Needs >= 4 vCPU
env (Environment Variables)
Defines environment variables available during build and/or runtime.
variable: The name of the env var (e.g.,NEXT_PUBLIC_API_URL).value: A literal string value.secret: The name of a secret in Cloud Secret Manager. use
npx -y firebase-tools@latest apphosting:secrets:set to create these.
availability: Where the variable is needed.BUILD: Available during thenpm run buildprocess.RUNTIME: Available when the app is serving requests.- Defaults to both if not specified.
App Hosting Emulation
You can test your App Hosting setup locally using the Firebase Local Emulator Suite. This allows you to verify your app's behavior with environment variables and secrets before deploying.
Configuration: apphosting.emulator.yaml
This optional file overrides apphosting.yaml settings specifically for the local emulator. Use it to provide local secret values or override resource configs. If it contains sensitive values such as API keys, do not commit it to source control.
# apphosting.emulator.yaml (gitignored usually)
runConfig:
cpu: 1
memoryMiB: 512
env:
- variable: API_KEY
value: "local-dev-api-key" # Override secret with local valueRunning the Emulator
To start the App Hosting emulator:
npx -y firebase-tools@latest emulators:start --only apphostingOr, if you are also using other emulators (Auth, Firestore, etc.):
npx -y firebase-tools@latest emulators:startCapabilities
- Builds your app: Runs the build command defined in your
package.jsonto
generate the serving artifact.
- Serves locally: Runs the app on
localhost:5004(default). Configurable
by setting host and port in the emulators block of firebase.json, like so:
{
"emulators": {
"apphosting": {
"host": "localhost",
"port": 5004
}
}
}- Env Var Injection: Injects variables defined in
apphosting.yamland
apphosting.emulator.yaml into the process.
Related skills
Forks & variants (1)
Firebase App Hosting Basics has 1 known copy in the catalog totaling 1k installs. They canonicalize to this original listing.
- firebase - 1k installs
How it compares
Firebase App Hosting for SSR frameworks, not Classic Hosting for static asset-only sites.
FAQ
Who is firebase-app-hosting-basics for?
Developers deploying supported full-stack frameworks to Firebase App Hosting with Blaze billing enabled.
When should I use firebase-app-hosting-basics?
When you need SSR, ISR, apphosting secrets, or git-connected App Hosting backends.
Is firebase-app-hosting-basics safe to install?
Review the Security Audits panel on this page before installing in production.