Skip to content

Architecture

Phaset is designed as a self-hosted platform that runs entirely within your infrastructure. This document outlines the key architectural components and how they work together.

Phaset’s architecture is built around three core principles:

  1. Self-contained deployment: The entire platform runs on a single host (VPS, VM, or bare metal) with no external dependencies or data sharing.
  2. Static-first delivery: Public-facing content is compiled to a static site that can be served via standard web hosting or CDN, ensuring fast performance and minimal infrastructure requirements.
  3. Simple installation: One command installs the entire backend.

Why single-host deployment?: Reduces operational complexity, eliminates distributed system challenges, and makes Phaset accessible to organizations without dedicated platform teams.

Why a static web application?: Enables fast, scalable delivery of public content using commodity CDN infrastructure without requiring complex hosting. TODO

Why Cloudflare infrastructure?: Provides reliable, global distribution for public-facing content while keeping user data completely separate and self-hosted.

The Phaset application runs on your infrastructure in a hosting environment you control, such as a VPS, virtual machine, or physical server, which runs on Linux or macOS. This is where the Phaset application, API, and data storage reside.

Phaset has minimal resource requirements and there are no external network dependencies required except for license checks (if a license is specified).

Phaset is composed of two systems: A static web site (the “web app”) and an API.

Phaset collects information about your software landscape through multiple channels:

CI Pipeline Integration: Your existing CI/CD pipelines call the Phaset API to push records or any metadata about deployments, services, and changes. This enables automatic tracking of deployment frequency, lead times, and DORA metrics.

GitHub Actions (Optional): We provide a ready-to-use GitHub Action which makes it even easier to integrate with Phaset to perform actions toward your hosting environment.

Manual Updates: Users can directly interact with the Phaset application through the web interface to add or update catalog entries, documentation, and ownership information.

Cloudflare Pages: Delivers the static content (marketing site and documentation site) to end users with global CDN distribution, ensuring fast load times and high availability.

Install Script: Users can choose to download Phaset through an online install script that handles the setup process or download it directly.

Cloudflare R2: Used for hosting files, e.g. the installation script and downloadable binaries.

┌─────────────────────────────────────────────────────────┐
│ User Infrastructure │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ Hosting Environment (VPS/VM) │ │
│ │ │ │
│ │ ┌────────────────────────────────────┐ │ │
│ │ │ Phaset Application + API │ │ │
│ │ │ │ │ │
│ │ │ - Software Catalog │ │ │
│ │ │ - Metrics & Analytics │ │ │
│ │ │ - Documentation Aggregation │ │ │
│ │ │ - Compliance Tracking │ │ │
│ │ │ - ...and more │ │ │
│ │ └────────────────────────────────────┘ │ │
│ │ ▲ │ │
│ │ │ │ │
│ │ │ API Calls │ │
│ │ │ │ │
│ └─────────────────────────────────────────────┘ │
│ │ │
│ ┌──────────────┴──────────────────┐ │
│ │ CI/CD Pipeline │ │
│ └─────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────┘

Data Sovereignty: All user data remains within your infrastructure. Phaset makes no external network calls and shares no telemetry or usage data.

Network Isolation: The Phaset application can run in completely isolated networks with no internet access if desired. Only the install script requires initial internet connectivity.

Access Control: Authentication and authorization are managed entirely within your Phaset installation.


For installation instructions, see the Getting Started guide. For API integration details, consult the API Reference.