Skip to main content
In this lesson we’ll walk through deploying a production-grade Backstage instance. The goal is to move your app from a local developer environment (which typically uses an in-memory or SQLite database and minimal auth) into a resilient, secure, and maintainable production deployment. What you’ll learn and implement: This lesson is practical and focused on concrete, production-ready changes:
  • Replace the default development database (in-memory/SQLite) with a production-grade PostgreSQL database.
  • Implement authentication (require users to sign in before using Backstage).
  • Package Backstage into a Docker container and outline deployment options.
  • Discuss upgrade strategies, backups, and routine maintenance tasks.
Prerequisites
  • A working Backstage app used for local development.
  • Basic familiarity with Docker and PostgreSQL (or access to a managed Postgres service).
  • Access to an identity provider for configuring OIDC or SSO (e.g., Okta, Google Workspace, Azure AD).
This lesson is intended for readers who already have a Backstage app set up for local development. The default development database (in-memory or SQLite) is convenient for local testing but is not suitable for production—use a managed PostgreSQL instance or an equivalent production-grade database instead.
Links and references Next steps Proceed to the database migration section to replace the development DB with PostgreSQL, then configure authentication and containerization. Each step includes configuration snippets, sample Dockerfiles, and recommended production settings.

Watch Video