Skip to content

Deployment Models

Run the complete ProtocolSoup experience with all services.

Terminal window
cd docker
docker compose up -d --build

Services started: frontend, gateway, federation-service, scim-service, ssf-service

The gateway image ships the palette content index at /app/palette.db and serves POST /api/palette/query for homepage search and cmd+K. Rebuild images after pulling new code (--build); docker compose up -d alone reuses cached layers and can leave you on an older UI.

Add SPIFFE:

Terminal window
docker compose -f docker-compose.yml -f docker-compose.spiffe.yml up -d

Best for: Protocol learning, demos, comprehensive evaluation.

Run one protocol service from GHCR for targeted testing.

Terminal window
docker run -p 8080:8080 \
-e SHOWCASE_BASE_URL=http://localhost:8080 \
ghcr.io/parlesec/protocolsoup-federation:latest

Best for: Validating one protocol family, CI pipelines, lightweight evaluation.

Common single-service deployments:

Goal Image
OAuth/OIDC/SAML testing protocolsoup-federation
SCIM provisioning testing protocolsoup-scim
SSF event stream testing protocolsoup-ssf
OID4VCI/OID4VP without federation protocolsoup-vc + protocolsoup-wallet

Run a single backend with frontend, no service splitting or gateway.

Terminal window
cd docker
docker compose -f docker-compose.simple.yml up -d
Service Port Role
backend 8080 Single Go process with all protocols registered
frontend 3000 Browser UI with Looking Glass

Includes: the cmd/server monolith registers OAuth 2.0, OIDC, SAML, OID4VCI, OID4VP, SCIM, SSF, and SPIFFE in one process (no gateway split). SPIFFE still needs SPIRE for live SVID issuance. SSF in this model is in-process for deploy convenience; the split protocolsoup-ssf image remains the documented topology.

Note: This compose file builds from source (Dockerfile.backend and Dockerfile.frontend) rather than pulling GHCR images. You need the full repository cloned locally.

Best for: Quick evaluation of core federation protocols without multi-service overhead.

The simple monolith image builds the palette content index at image build time (/app/palette.db). Homepage search and cmd+K require that file and SHOWCASE_PALETTE_DB.

Combine selected GHCR images with your own infrastructure.

Typical pattern:

  1. Run selected ProtocolSoup services from GHCR.
  2. Place behind your own reverse proxy or API gateway.
  3. Configure SHOWCASE_BASE_URL to match your external domain.
  4. Apply your organization’s auth, logging, and observability controls.

Best for: Platform integration, staging environments, production-like deployments.

Select the service guide you need from the pages in this tab.