Environments

Local Development (Docker Compose)

Start the full stack: cd docker && docker compose up --build

ServiceBase URLNotes
Identity APIhttp://localhost:5000IS7 OIDC discovery at /.well-known/openid-configuration
Platform APIhttp://localhost:5004/platform/api/v1PlatformAdmin only
Admin APIhttp://localhost:5002/admin/api/v1TenantAdmin / SuperAdmin
Shopper APIhttp://localhost:5001/api/v1End customer / member
POS APIhttp://localhost:5003/pos/api/v1POS terminals, 200ms SLA
SQL Serverlocalhost:14334 databases
Redislocalhost:6379Feature flags, POS session cache
Admin Portalhttp://localhost:3001Next.js 16 UI
Platform Portalhttp://localhost:3000Next.js 16 UI
Developer Portalhttp://localhost:3002This site

Health Checks

Each API exposes health endpoints:

curl http://localhost:5002/health/live   # Liveness probe
curl http://localhost:5002/health/ready  # Readiness (SQL + Redis)

Environment Variables

Key variables for each API (see docker/docker-compose.yml for defaults):

VariableUsed byDescription
ConnectionStrings__IdentityAllSQL Server connection to RSA_Identity
ConnectionStrings__PlatformPlatform APISQL Server connection to RSA_Platform
IdentityServer__AuthorityAll APIsIS7 base URL for JWT validation
Redis__ConnectionStringAll APIsRedis connection string
Cors__OriginsAll APIsAllowed frontend origins
REQUIRE_TOTPIdentitySet false in dev to bypass MFA
SendGrid__ApiKeyAdmin, IdentityEmail sending
DataProtection__BlobUriAllAzure Blob for key ring (prod only)

In local development the Data Protection keys are stored in ~/.aspnet/DataProtection-Keys. In production they are stored in Azure Blob Storage.

Staging & Production

Production base URLs follow the pattern https://api.{yourcompany}.com/{service}. Contact your platform administrator for environment-specific URLs. All production endpoints require HTTPS and enforce HSTS.