Stacks / Backend

Medium

Backstage

A developer portal you host. Backstage is Apache-2.0 (CNCF) — Port without the catalog seat.

The problem

Port is a hosted internal developer portal: software catalog, self-service actions, scorecards, automations, and AI agents. Free is 15 seats and 10,000 entities with no card; paid starts at $30/seat/month billed annually, Standard $40 (port.io/pricing, checked 25 Oct 2026). You wanted that catalog on a box you run. Backstage is Apache-2.0 (backstage/backstage; last push 25 Oct 2026) — CNCF Incubating software catalog, software templates, and TechDocs. Port Ocean is Apache-2.0 (port-labs/ocean; last push 22 Oct 2026) — Port's integration framework for ingesting third-party data into a portal, not the portal itself. OpsLevel and Cortex stay skipped: closed-source SaaS with no product-level OSS path. This is not Port's every scorecard, automation-run, or AI-agent SKU. An internal admin UI stays on /replace/retool (Appsmith). ITSM assets stay on /replace/servicenow (GLPI). Port itself is cloud-native SaaS — not a self-host you fork.

Replaces

Port

Replace Port See all best open-source internal developer portals

Estimated SaaS saved

$3,600

per year, small team, before lock-in

Start on Railway

Appsmith if this is an internal admin UI, not a software catalog

Sponsor this stack Tip jar

Placeholder: Backstage (Node) plus Postgres. Official create-app docs; persist the database and plugin state. This is several services, not a single container. No one-click template in this repo yet — Start on Railway. An internal admin stays on /stacks/baserow-appsmith.

The stack

Cost table

You stop payingTypical / yearSelf-host instead
Port Basic (10 seats, annual)$3,600Backstage + Postgres

Agent setup prompt

Replace Port with Backstage (https://backstage.io/).

- Official create-app / getting-started docs. Persist Postgres. Register one catalog entity and one software template. Do not claim Port scorecards, automation-run packs, or AI-agent SKUs.
- Port Ocean (https://github.com/port-labs/ocean) is an Apache-2.0 exporter into a portal — not the portal. OpsLevel and Cortex are closed-source; do not publish them as the path.
- An internal admin UI stays on /stacks/baserow-appsmith. ITSM stays on /stacks/glpi-itsm.
- Write AGENT_PROMPT.md.

Also as markdown: /stacks/backstage-portal.md

FAQ

Is this OpsLevel or Cortex?
No. Those are closed-source SaaS. This page is Port → Backstage. There is no product-level OSS OpsLevel or Cortex path in the catalog.
What about Port Ocean?
Ocean is Apache-2.0 and sits on this stack as the integration framework. It is not a portal you can swap for Port. /compare/backstage-vs-port.
Is this Retool?
No. An internal admin UI stays on /replace/retool (Appsmith). This page is a software catalog and a developer portal.
Is this ServiceNow?
No. ITSM assets stay on /replace/servicenow (GLPI). This page is an internal developer portal.
Are these free?
Backstage is Apache-2.0. Port Ocean is Apache-2.0. You pay hosting. Port the product is hosted SaaS. Template users never pay c17.