Search iThub

Search tools, categories and collections. Type at least two characters.

Explore all tools
↑ ↓ to explore resultsEnter to open · Esc to close

Backstage

Open source framework for building developer portals around a software catalog, templates and TechDocs

Visit website Save

Backstage is an Apache-2.0 framework, created at Spotify and hosted by the CNCF, for building developer portals with a software catalog, software templates, TechDocs, search and a plugin ecosystem.

Pricing
Open source
Deployment
Self-hosted
Platforms
Web
34,813stars7,726forks
5views
Updated

What is Backstage?

Backstage is an open source framework for building developer portals. It was created at Spotify and is now hosted by the Cloud Native Computing Foundation (CNCF) as an incubating project: the CNCF page states that Backstage was accepted on September 8, 2020 and moved to the Incubating maturity level on March 15, 2022. The project describes the portal as being powered by a centralized software catalog that tracks services, libraries, websites, data pipelines and ML models, with a plugin architecture on top. Its background page says it grew out of fragmentation at Spotify, where engineers struggled to find APIs, owners and documentation.

Out of the box the project lists three core products: the Software Catalog, Software Templates (the scaffolder) and TechDocs, plus search, a Kubernetes plugin, authentication, permissions and notifications, and a large ecosystem of open source plugins. The plugin directory on backstage.io lists community and vendor plugins. Backstage is a framework rather than a finished product: an organization creates its own app, configures integrations and chooses plugins, so the resulting portal is its own TypeScript codebase.

The code lives in the backstage/backstage repository, written mainly in TypeScript, and is licensed under Apache-2.0. The repository was created in January 2020 and the project was open sourced in March 2020. The latest GitHub release is v1.56.4, published on November 9, 2026. The v1.56.0 release notes list several breaking changes, among them stricter filter predicates in the catalog, removal of the Atlassian username sign-in resolver and a required instance ID for custom root instance metadata services. Governance is described in the GOVERNANCE.md file of the backstage/community repository, and the ADOPTERS list records organizations that use Backstage, including Spotify.

Installation uses the official scaffolder CLI: the standalone installation guide starts with npx @backstage/create-app@latest, which generates a monorepo with a frontend app and a backend. The guide states that this result runs locally with an in-memory SQLite database and demo content and is not a production-ready installation. For deployment, the Docker deployment guide describes building the backend into a container image and expects a configured auth provider and a Postgres database. Security issues are reported through Spotify's bug-bounty program rather than GitHub issues, according to the README.

Inside the application

Backstage screenshots

Explore the interface. Open a screenshot to view it at full size.

Backstage software catalog listing owned services with system, owner, lifecycle and tags
Backstage screenshot 1

Official demo screenshot of the software catalog table with tag filters.

Backstage Create a new component page with available software templates
Software templates

Official documentation screenshot of the template chooser in the scaffolder.

Backstage Kubernetes plugin showing a cluster, a deployment and pod status
Kubernetes plugin

Official documentation screenshot of cluster and pod health for a service.

TechDocs page rendering Markdown documentation inside Backstage
TechDocs reader

Official documentation screenshot of the TechDocs preview.

Source: official Backstage project page.

Key capabilities

  • Software Catalog A centralized system holding metadata for software such as services, websites, libraries, ML models and data pipelines, and optionally the infrastructure needed to run them. Entities are described in YAML descriptor files such as catalog-info.yaml stored next to the code, and the catalog can be viewed and searched in the UI. The descriptor format defines kinds, owners, lifecycle and relations.
  • Catalog ingestion and system model Entities are ingested from registered locations and from backend modules, then processed and stitched into a graph of relations. The documentation describes the life of an entity through ingestion, processing and stitching, and an incremental ingestion module exists for large sources.
  • Software Templates (scaffolder) Templates load skeletons of code, fill in variables and publish the result to a location such as GitHub or GitLab. Templates are found under the /create route of the app and can run custom actions; the docs note that custom action IDs should use camelCase so template expressions evaluate correctly.
  • TechDocs A docs-like-code solution: engineers write Markdown next to their code and a documentation site appears inside Backstage and on the service page in the catalog. It builds on MkDocs and its plugin ecosystem, includes search for docs, supports documentation-only sites and offers an add-on framework for extra reader features.
  • Search The search feature finds information across the Backstage ecosystem. The technical overview says the look of each result can be customized and that a deployment can use its own search engine, so catalog entities, TechDocs and plugin content can be indexed together.
  • Kubernetes plugin Lets developers check the health of their services, whether running on a local host or in production. The documentation screenshot shows clusters, deployments, pod counts and per-pod status for a service.
  • Plugin architecture Plugins are client-side applications that mount themselves on the Backstage UI so many tools share one interface. The technical overview describes three plugin types, and the repository contains a large number of first-party plugins under plugins/.
  • New backend system The backend is assembled from plugins and modules with createBackend, with core services such as logging, database, scheduler and instance metadata. The v1.56 notes mention an instance ID option for createBackend.
  • Frontend system The project documents a newer frontend system alongside the original app structure; its roadmap page describes work to make it ready for adoption and to support it in core plugins.
  • Authentication and identity Built-in authentication providers handle sign-in and delegated access to third-party resources. The default Guest provider is not intended for containerized environments, per the Docker guide.
  • Permissions A permission framework enforces rules about the access a user has to specific data, APIs or interface actions.
  • Notifications Notifications provide a means for plugins and external services to send messages to individual users or groups.
  • Configuration Behavior is set in app-config.yaml, the main configuration file of a generated app. Integrations with source control and other systems are configured there as well.
  • Installation with create-app Run npx @backstage/create-app@latest and enter an app name. The docs list Node.js 24 or 26 as supported as of 1.57.0, Yarn 4.4.1 via corepack, Docker, git, a GNU-like build environment, at least 20 GB disk and 6 GB memory for the standalone demo, and ports 3000 and 7007. A Unix-like OS is expected: Linux, macOS or Windows Subsystem for Linux.
  • Docker deployment The generated app includes a Dockerfile built on a Node slim base image that runs the backend as the unprivileged node user. The guide covers a host build, a multi-stage build and separate frontend and backend images, and lists Postgres as a prerequisite.
  • Database The standalone app uses in-memory SQLite for local runs. Deployment documentation names PostgreSQL.
  • Design language and Storybook The project publishes design guidelines and a Storybook of UI components for building plugins that look consistent with the app.
  • Community and releases Support runs through the Backstage Discord, GitHub, RFCs, community sessions and a newsletter. Releases are published on GitHub with detailed highlights.
Advertisements

Where Backstage fits

Cataloging services, ownership and documentation

Teams register a catalog-info.yaml file for each component, system, API or resource. The catalog then shows owner, lifecycle, tags, relations and links to source and documentation, and the UI lets users filter by owned or starred entities and by tags. A catalog graph view shows relations between entities, and the documentation covers extending entity kinds.

Creating new projects from templates

A template collects parameters in a form, fetches a code skeleton, runs scaffolder actions and publishes to a repository host such as GitHub or GitLab. Registered templates appear on the /create page, which also offers registering an existing component. The documentation describes templates as a way to standardize tooling with an organization's practices.

Publishing technical documentation

Documentation is written in Markdown with MkDocs configuration next to the code, and readers open it from the entity page in the catalog. TechDocs also supports documentation-only sites and a CLI preview server for authors. The overview page reports that Spotify uses TechDocs for thousands of documentation sites.

Viewing service health in Kubernetes

The Kubernetes plugin shows workloads for a catalog entity on configured clusters, including deployments, replicas, pods and error states, as in the documentation screenshot.

Searching across the portal

The search platform indexes catalog entities, TechDocs and content contributed by plugins, with a pluggable search engine and customizable result renderers. The search architecture documentation describes collators that feed the index and a query translator for the chosen engine.

Extending the portal with plugins

Organizations use plugins from the ecosystem listed on backstage.io/plugins or write their own following the plugin documentation. Similar projects in the directory include Humanitec; Backstage also connects to Kubernetes, GitHub and GitLab through plugins and integrations.

Install

npx @backstage/create-app@latest

Reviews of Backstage

No reviews yet

Be the first to share your experience with Backstage.

Loading review form…

Alternatives to Backstage

Compare Backstage with these tools →