Every engineering organization eventually hits the same wall: services multiply, documentation scatters across wikis, nobody knows who owns what, and onboarding new developers takes weeks instead of days. A developer portal solves this by centralizing service discovery, documentation, tooling, and infrastructure access into a single, searchable interface.
The question is no longer whether to build one, but which platform to use and how to host it without handing your internal architecture to a third-party SaaS vendor.
This guide covers the leading open-source and self-hostable developer portal solutions in 2026, with practical deployment instructions for each.
Why Self-Host Your Developer Portal?
Developer portals contain your organization’s entire service topology — internal API endpoints, database connection strings, deployment pipelines, and ownership maps. Running this on someone else’s cloud introduces several risks:
Data sovereignty. Your service catalog reveals your architecture. Sending it to an external SaaS provider means your infrastructure topology lives on their servers, subject to their retention policies and breach risk.
Vendor lock-in. Once your teams depend on a proprietary portal, migrating away becomes a multi-month project. Open-source platforms keep your data in standard formats (YAML, JSON) that you own.
Cost at scale. SaaS developer portals typically charge per active user or per registered service. At 200+ engineers and 500+ microservices, annual costs easily exceed $50,000. Self-hosting costs a fraction — typically a single small VM or kubernetes cluster.
Deep customization. Open-source portals let you build plugins for your exact stack: custom CI/CD integrations, internal tool links, proprietary metrics dashboards, and authentication flows that SaaS products won’t support.
Air-gapped environments. Financial services, healthcare, and government teams often cannot send internal service metadata outside their network. Self-hosting is the only option.
The Landscape: Three Approaches
The developer portal market has settled into three distinct approaches:
| Feature | Backstage (Spotify) | Port | Compass (Atlassian) |
|---|---|---|---|
| License | Apache 2.0 | Commercial SaaS | Commercial SaaS |
| Self-hostable | Yes, fully | No | No |
| Primary focus | Service catalog + extensible plugin ecosystem | Developer experience + self-service | Code-centric service discovery |
| Setup complexity | Moderate to high | Low (SaaS signup) | Low (SaaS signup) |
| Customization depth | Unlimited (React + TypeScript plugins) | Limited to platform features | Limited to Atlassian ecosystem |
| Community size | 40,000+ GitHub stars, CNCF project | Growing SaaS customer base | Atlassian enterprise customers |
| Plugin ecosystem | 500+ official and community plugins | Native integrations only | Atlassian marketplace apps |
| Best for | Teams wanting full control and customization | Teams wanting quick setup with minimal ops | Atlassian-heavy organizations |
| Estimated annual cost | Infrastructure only (~$500-$2,000/yr) | $15-$40/user/month | $10-$25/user/month |
Backstage stands alone as the only genuinely self-hostable option with an open-source core. The other two require sending your data to vendor-managed infrastructure.
Getting Started with Backstage
Backstage is the CNCF-hosted developer portal originally built by Spotify. It provides a unified interface for managing your entire software catalog, including services, libraries, websites, and data pipelines.
Prerequisites
- Node.js 20.x or 22.x LTS
- Yarn 1.x (classic) or npm
- PostgreSQLdockerfor production)
- Docker and Docker Compose (optional, for containerized deployment)
Quick Start with npx
The fastest way to explore Backstage is generating a fresh app:
| |
This starts the frontend on port 3000 and the backend on port 7007. The development server includes hot-reload for plugin development.
Production Deployment with Docker Compose
For production, you need a persistent database and proper backend configuration. Here is a complete Docker Compose setup:
| |
Build and start the stack:
| |
The portal will be available at http://localhost:7007.
Production Build with Helm for Kubernetes
For Kubernetes deployments, the official Helm chart handles everything:
| |
Configuring the Software Catalog
The software catalog is Backstage’s core feature. It tracks every component in your organization using YAML descriptor files.
Entity Descriptor Structure
Each service, library, or system is defined in a catalog-info.yaml file at the repository root:
| |
Registering Catalog Locations
Tell Backstage where to find your catalog files by editing app-config.yaml:
| |
Organizing with Systems and Domains
For larger organizations, structure your catalog hierarchically:
| |
This creates a navigable hierarchy: Domain → System → Component, making it easy for developers to understand how services relate to each other.
Essential Plugins
Backstage’s power comes from its plugin ecosystem. Here are the most useful plugins for a production deployment.
CI/CD Integration
Connect your pipelines so developers see build status directly in the portal:
| |
Add to packages/app/src/App.tsx:
| |
Then register the route in your app configuration so each service page shows its recent builds.
Kubernetes Integration
The Kubernetes plugin shows live cluster resources, pod status, and deployment health for each registered service:
| |
Configuration in app-config.yaml:
| |
TechDocs (Documentation as Code)
TechDocs lets teams write documentation in Markdown alongside their code, which Backstage renders into a searchable documentation site:
| |
Add a mkdocs.yml file to each repository:
| |
Backstage builds these into static HTML and serves them under each component’s TechDocs tab.
Scaffolder (Software Templates)
The scaffolder creates new services from standardized templates, enforcing your conventions automatically:
| |
This template creates a new repository, populates it with a pre-configured Spring Boot project, adds the catalog descriptor, and registers the component automatically.
Scorecards and Quality Gates
Track service maturity across your organization:
| |
Services are scored from 0-100, and leadership gets a dashboard showing which services meet production standards.
Authentication and Access Control
Backstage supports multiple authentication providers out of the box:
| |
For permission management, the permission framework lets you define fine-grained access policies:
| |
Monitoring and Maintenance
A self-hosted developer portal needs the same operational care as any production service.
Health Checks
Backstage exposes a health endpoint that Docker and Kubernetes can probe:
| |
Database Maintenance
PostgreSQL requires periodic maintenance for the catalog database:
| |
Backup Strategy
| |
Alternative Approaches
Lightweight Portals for Small Teams
If Backstage feels like overkill for a team under 20 people, consider simpler approaches:
Gitea or GitLab wikis with standardized README conventions and a central index page can serve as a lightweight service directory.
Static site generators like Hugo or MkDocs with a custom theme can render your catalog from YAML files into a browsable website, deployed as a CI job.
Portainer or Rancher dashboards already provide service discovery and health monitoring for containerized workloads without additional infrastructure.
When Backstage Makes Sense
Backstage is the right choice when:
- You have 50+ microservices across multiple teams
- You need software templates to standardize new service creation
- Multiple tool integrations (CI/CD, monitoring, security, cloud) need a unified view
- You want custom plugins for internal tooling
- Your organization requires data to stay within your infrastructure
Cost Comparison
For a 100-person engineering team managing 200 services:
| Cost Item | Backstage (self-hosted) | Port | Compass |
|---|---|---|---|
| Software license | $0 (Apache 2.0) | $30,000/yr ($25/user/mo × 100) | $18,000/yr ($15/user/mo × 100) |
| Infrastructure | $1,200/yr (2 vCPU VM + Postgres) | Included | Included |
| Setup effort | 2-4 weeks | 1-2 days | 1-2 days |
| Ongoing maintenance | 4-8 hrs/month | Minimal | Minimal |
| Year 1 total | ~$1,200 + engineering time | ~$30,000 | ~$18,000 |
| 3-year total | ~$3,600 + engineering time | ~$90,000 | ~$54,000 |
The infrastructure cost for self-hosting Backstage is typically a single small VM running PostgreSQL and the Backstage backend, or a small Kubernetes namespace if you already operate a cluster.
Conclusion
Self-hosting your developer portal gives you full ownership of your service catalog, unlimited customization through Backstage’s plugin architecture, and dramatically lower costs at scale. While the initial setup requires more effort than signing up for a SaaS alternative, the long-term benefits — data control, no per-user pricing, and the ability to build exactly the integrations your teams need — make it the right choice for organizations serious about developer experience.
Start with the Docker Compose setup to validate the concept, then move to Kubernetes with the Helm chart once your team confirms the value. The plugin ecosystem means you can grow from a simple service catalog into a full developer platform without switching tools.
For more self-hosted infrastructure guides, check out our comparisons of CI/CD platforms, container management dashboards, and monitoring stacks.
Frequently Asked Questions (FAQ)
Which one should I choose in 2026?
The best choice depends on your specific requirements:
- For beginners: Start with the simplest option that covers your core use case
- For production: Choose the solution with the most active community and documentation
- For teams: Look for collaboration features and user management
- For privacy: Prefer fully open-source, self-hosted options with no telemetry
Refer to the comparison table above for detailed feature breakdowns.
Can I migrate between these tools?
Most tools support data import/export. Always:
- Backup your current data
- Test the migration on a staging environment
- Check official migration guides in the documentation
Are there free versions available?
All tools in this guide offer free, open-source editions. Some also provide paid plans with additional features, priority support, or managed hosting.
How do I get started?
- Review the comparison table to identify your requirements
- Visit the official documentation (links provided above)
- Start with a Docker Compose setup for easy testing
- Join the community forums for troubleshooting