MrWho

Deployment Paths

Last updated: 2026-05-17

This guide helps first-time operators choose the right Docker-based path in the MrWho repository.

If you only remember one rule, remember this one: follow one path at a time and do not mix MrWho published-image commands with MrWhoOidc source-build commands.

Start Here

Use the MrWho repository when you want:

Use the MrWhoOidc repository only when you need to build from source, modify code, or run contributor workflows.

Scenario Matrix

Path Use this when Primary command What next
Prebuilt Setup You want the smallest working local or evaluation install docker compose up -d Bootstrap, verify, then pick Redis, production, or demos
Proxy TLS Termination Public HTTPS is terminated by your reverse proxy or load balancer and you do not want a local PFX in the backend container docker compose -f docker-compose.tls-termination.yml up -d Validate through the public proxy URL, then add Redis or production hardening if needed
Prebuilt + Redis You want Redis-backed distributed features and lower database load docker compose -f docker-compose.yml -f docker-compose.redis.yml up -d Validate Redis-backed deployment, then consider production hardening
Prebuilt + Production You want the hardened baseline docker compose -f docker-compose.yml -f docker-compose.production.yml up -d Finish TLS, secrets, reverse proxy, and monitoring work
Prebuilt + Examples You want real client integrations after bootstrap Start the issuer once, then follow a demo README Choose a demo by stack and flow
Source Build You need local code changes, seeded dev data, or contributor workflows Use the MrWhoOidc source-build guide instead of this repo Stay on the source-build track

Prebuilt Setup

Use this path when you want the simplest possible install.

docker compose up -d

This path gives you:

Start here before you add Redis, try demos, or move toward production hardening.

Primary references:

Proxy TLS Termination

Use this path when a reverse proxy or load balancer presents the public HTTPS endpoint and the backend container should run on HTTP only.

docker compose -f docker-compose.tls-termination.yml up -d

This path is a good fit when you want:

Key rules for this path:

You can still compose this path with the existing overlays:

docker compose -f docker-compose.tls-termination.yml -f docker-compose.redis.yml up -d
docker compose -f docker-compose.tls-termination.yml -f docker-compose.production.yml up -d

Primary references:

Prebuilt + Redis

Use this path when the base deployment is already understood and you want Redis-backed distributed features.

docker compose -f docker-compose.yml -f docker-compose.redis.yml up -d

This path is a good fit when you want:

Suggested validation:

docker compose ps
bash ./scripts/health-check.sh https://localhost:8443 default

Primary references:

Prebuilt + Production

Use this path when you want the hardened compose overlay.

docker compose -f docker-compose.yml -f docker-compose.production.yml up -d

This path adds:

You should still finish the operational work around TLS, secrets, backups, reverse proxy settings, and monitoring.

Primary reference:

Prebuilt + Examples

Use this path after the issuer is already running and verified.

Start the issuer once with the base deployment, then choose a demo that matches your goal:

The main rule here is simple: do not start with the demos before the issuer itself is healthy.

Primary reference:

Separate Source-Build Track

This repository does not own the source-build contributor path.

Switch to the MrWhoOidc source-build track only when you need:

Use the public source-build guide or the MrWhoOidc developer quickstart instead of mixing those commands into the published-image path.