Skip to main content

⚡ ForgePortal

The Internal Developer Portal that developers actually love.
Open-source · Self-hosted · Ships in days, not months.

Built on PostgreSQL, Fastify, React, and TypeScript. No Kubernetes required for local dev.

Everything your engineering org needs, out of the box

🗂️

Software Catalog

A unified, auto-discovered catalog of all your services, libraries, APIs, and teams. Populated from GitHub/GitLab — zero manual YAML required.

Templates & Scaffolding

Golden-path templates that spin up services, bootstrap CI/CD, and open PRs — all in one click. Powered by a Postgres-backed action runner with retries and audit logs.

🏆

Scorecards

Bronze / Silver / Gold maturity levels for every service. Rule engine checks README, CI config, docs, and more. One-click fix actions open PRs automatically.

🔌

Plugin System

The simplest plugin model in the IDP space. Three types (UI, backend, fullstack), one manifest, one CLI command. No forking. No config DSL. Just TypeScript.

Up and running in 60 seconds

git clone https://github.com/forgeportal/forgeportal
cd forgeportal
cp deployments/docker-compose/.env.example deployments/docker-compose/.env
docker compose -f deployments/docker-compose/docker-compose.yml up

Then open http://localhost:3000 → your catalog is live. Full guide →

ForgePortal vs Backstage

We love Backstage — ForgePortal is what we wished it was when we started.

Feature⚡ ForgePortalBackstage
Initial setup time< 5 min (docker compose up)2–4 hours
Plugin creation< 2 min (npx create-forge-plugin)30–60 min
Backend languageTypeScript (same as UI)TypeScript (same)
Config formatforgeportal.yaml (Zod validated)app-config.yaml
AuthOIDC (any provider)Many auth providers
SearchPostgreSQL FTSPluggable (Lunr, Elastic…)
Scorecards✅ Built-in + auto-fix PRs3rd-party plugins
LicenseMITApache 2.0

Ready to build your IDP?

Start with Docker Compose in 5 minutes. Customize with plugins. Ship to Kubernetes when you're ready.

Read the Docs →