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:

GoalImage
OAuth/OIDC/SAML testingprotocolsoup-federation
SCIM provisioning testingprotocolsoup-scim
SSF event stream testingprotocolsoup-ssf
OID4VCI/OID4VP without federationprotocolsoup-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
ServicePortRole
backend8080Single Go process with all protocols registered
frontend3000Browser UI with Looking Glass

Includes: OAuth 2.0, OIDC, SAML. No SCIM, SSF, SPIFFE, VC, or gateway.

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.