Deployment Models
Deployment Models
Section titled “Deployment Models”Model 1: Full Stack
Section titled “Model 1: Full Stack”Run the complete ProtocolSoup experience with all services.
cd dockerdocker compose up -d --buildServices 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:
docker compose -f docker-compose.yml -f docker-compose.spiffe.yml up -dBest for: Protocol learning, demos, comprehensive evaluation.
Model 2: Single Service
Section titled “Model 2: Single Service”Run one protocol service from GHCR for targeted testing.
docker run -p 8080:8080 \ -e SHOWCASE_BASE_URL=http://localhost:8080 \ ghcr.io/parlesec/protocolsoup-federation:latestBest 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 |
Model 3: Simple Monolith
Section titled “Model 3: Simple Monolith”Run a single backend with frontend, no service splitting or gateway.
cd dockerdocker 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.
Model 4: Custom Topology
Section titled “Model 4: Custom Topology”Combine selected GHCR images with your own infrastructure.
Typical pattern:
- Run selected ProtocolSoup services from GHCR.
- Place behind your own reverse proxy or API gateway.
- Configure
SHOWCASE_BASE_URLto match your external domain. - 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.