services: postgres: image: postgres:17 environment: POSTGRES_USER: wiregui POSTGRES_PASSWORD: wiregui POSTGRES_DB: wiregui ports: - "5432:5432" volumes: - postgres_data:/var/lib/postgresql/data valkey: image: valkey/valkey:8 ports: - "6379:6379" volumes: - valkey_data:/data # Test OIDC Identity Provider — accepts any login, issues real JWTs # Discovery: http://localhost:9000/test-idp/.well-known/openid-configuration # Login: enter any username/password, it will issue a token mock-oidc: image: ghcr.io/navikt/mock-oauth2-server:2.1.10 ports: - "9000:9000" environment: SERVER_PORT: "9000" JSON_CONFIG: > { "interactiveLogin": true, "httpServer": "NettyWrapper", "tokenCallbacks": [ { "issuerId": "test-idp", "tokenExpiry": 3600, "requestMappings": [ { "requestParam": "scope", "match": "*", "claims": { "sub": "$${claim:sub}", "email": "$${claim:sub}@test.local", "name": "Test User" } } ] } ] } # Test SAML Identity Provider — SimpleSAMLphp as IdP # IdP Metadata: http://localhost:8080/simplesaml/saml2/idp/metadata.php # Admin UI: http://localhost:8080/simplesaml (admin / secret) # Test users: user1/password, user2/password mock-saml: image: kenchan0130/simplesamlphp ports: - "8080:8080" environment: SIMPLESAMLPHP_SP_ENTITY_ID: "http://localhost:13000/auth/saml/test-saml/metadata" SIMPLESAMLPHP_SP_ASSERTION_CONSUMER_SERVICE: "http://localhost:13000/auth/saml/test-saml/callback" SIMPLESAMLPHP_IDP_BASE_URL: http://localhost:8080/simplesaml/ volumes: - ./docker/mock-saml/saml20-sp-remote.php:/var/www/simplesamlphp/metadata/saml20-sp-remote.php:ro volumes: postgres_data: valkey_data: